blob: 2cbb4a58e8065606751de3ea0193f839005fb6d1 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef UI_GFX_WIN_DIRECT_WRITE_H_
#define UI_GFX_WIN_DIRECT_WRITE_H_
#include <dwrite.h>
#include "base/strings/string_piece.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
#include "ui/gfx/gfx_export.h"
namespace gfx {
namespace win {
GFX_EXPORT void InitializeDirectWrite();
// Creates a DirectWrite factory.
GFX_EXPORT void CreateDWriteFactory(IDWriteFactory** factory);
// Returns the global DirectWrite factory.
GFX_EXPORT IDWriteFactory* GetDirectWriteFactory();
// Retrieves the localized string for a given locale. If locale is empty,
// retrieves the first element of |names|.
GFX_EXPORT absl::optional<std::string> RetrieveLocalizedString(
IDWriteLocalizedStrings* names,
const std::string& locale);
// Retrieves the localized font name for a given locale. If locale is empty,
// retrieves the default native font name.
GFX_EXPORT absl::optional<std::string> RetrieveLocalizedFontName(
base::StringPiece font_name,
const std::string& locale);
} // namespace win
} // namespace gfx
#endif // UI_GFX_WIN_DIRECT_WRITE_H_