19#ifndef INCLUDED_UNOTOOLS_FONTCFG_HXX
20#define INCLUDED_UNOTOOLS_FONTCFG_HXX
22#include <config_options.h>
25#include <com/sun/star/uno/Reference.hxx>
29#include <unordered_map>
30#include <unordered_set>
98 css::uno::Reference< css::lang::XMultiServiceFactory >
100 css::uno::Reference< css::container::XNameAccess >
109 mutable css::uno::Reference< css::container::XNameAccess >
xAccess;
114 OUString tryLocale(
const OUString& rBcp47,
const OUString& rType )
const;
123 OUString getUserInterfaceFont(
const LanguageTag& rLanguageTag )
const;
136class UNLESS_MERGELIBS(UNOTOOLS_DLLPUBLIC) FontSubstConfiguration
139 css::uno::Reference< css::lang::XMultiServiceFactory >
141 css::uno::Reference< css::container::XNameAccess >
145 OUString aConfigLocaleString;
146 mutable bool bConfigRead;
151 mutable std::vector< FontNameAttr > aSubstAttributes;
153 LocaleSubst() : bConfigRead(
false ) {}
155 std::unordered_map< OUString, LocaleSubst > m_aSubst;
156 typedef std::unordered_set< OUString > UniqueSubstHash;
157 mutable UniqueSubstHash maSubstHash;
160 void fillSubstVector(
const css::uno::Reference< css::container::XNameAccess >& rFont,
161 const OUString& rType,
162 std::vector< OUString >& rSubstVector )
const;
163 FontWeight getSubstWeight(
const css::uno::Reference< css::container::XNameAccess >& rFont,
164 const OUString& rType )
const;
165 FontWidth getSubstWidth(
const css::uno::Reference< css::container::XNameAccess >& rFont,
166 const OUString& rType )
const;
167 ImplFontAttrs getSubstType(
const css::uno::Reference< css::container::XNameAccess >& rFont,
168 const OUString& rType )
const;
169 void readLocaleSubst(
const OUString& rBcp47 )
const;
171 FontSubstConfiguration();
172 ~FontSubstConfiguration();
174 static FontSubstConfiguration&
get();
176 const FontNameAttr* getSubstInfo(
const OUString& rFontName )
const;
177 static void getMapName(
const OUString& rOrgName, OUString& rShortName, OUString& rFamilyName,
FontWeight& rWeight,
FontWidth& rWidth,
ImplFontAttrs& rType );
std::unordered_map< OUString, LocaleAccess > m_aConfig
css::uno::Reference< css::lang::XMultiServiceFactory > m_xConfigProvider
css::uno::Reference< css::container::XNameAccess > m_xConfigAccess
@ Handwriting
More Handwriting with normal letters.
@ Comic
Like Comic Sans MS.
@ Titling
Only uppercase characters.
@ Typewriter
Like a typewriter: Courier, ...
@ Capitals
Only uppercase characters, but lowercase characters smaller as the uppercase characters.
@ Decorative
Readable and normally used for drawings.
@ Chancery
Like Zapf Chancery.
@ BrushScript
More Script.
@ OtherStyle
OldStyle, ... so negative points.
uno::Reference< uno::XInterface > m_xConfigAccess
LanguageTag maLanguageTag
OUString get(TranslateId sContextAndId, const std::locale &loc)
FontDescriptor getDefaultFont()
css::uno::Reference< css::container::XNameAccess > xAccess
OUString aConfigLocaleString
::std::vector< OUString > MSSubstitutions
::std::vector< OUString > Substitutions
Reference< XMultiServiceFactory > m_xConfigProvider