20 #include <rtl/ustring.hxx>
32 rType |= ImplFontAttrs::SansSerif;
34 rType |= ImplFontAttrs::Serif;
36 rType |= ImplFontAttrs::Script;
38 rType |= ImplFontAttrs::Fixed;
40 rType |= ImplFontAttrs::Decorative;
45 rType |= pFontAttr->
Type;
49 rWeight = pFontAttr->
Weight;
52 rWidth = pFontAttr->
Width;
60 for(
int i = 0;
i < rFontName.getLength();
i++)
64 if ( ((ch >= 0x3040) && (ch <= 0x30FF)) ||
65 ((ch >= 0x3190) && (ch <= 0x319F)) )
66 return ImplFontAttrs::CJK|ImplFontAttrs::CJK_JP;
69 if ( ((ch >= 0xAC00) && (ch <= 0xD7AF)) ||
70 ((ch >= 0xA960) && (ch <= 0xA97F)) ||
71 ((ch >= 0xD7B0) && (ch <= 0xD7FF)) ||
72 ((ch >= 0x3130) && (ch <= 0x318F)) ||
73 ((ch >= 0x1100) && (ch <= 0x11FF)) )
74 return ImplFontAttrs::CJK|ImplFontAttrs::CJK_KR;
77 if ( (ch >= 0x3400) && (ch <= 0x9FFF) )
78 return ImplFontAttrs::CJK|ImplFontAttrs::CJK_TC|ImplFontAttrs::CJK_SC;
81 if ( ((ch >= 0x3000) && (ch <= 0xD7AF)) ||
82 ((ch >= 0xFF00) && (ch <= 0xFFEE)) )
83 return ImplFontAttrs::CJK;
87 return ImplFontAttrs::None;
91 : maSearchName( rSearchName ),
183 const OUString& rSearchName )
188 utl::FontSubstConfiguration::getMapName( rSearchName, aShortName, aMatchFamilyName,
194 if( aShortName != rSearchName )
195 pFontAttr = rFontSubst.getSubstInfo( aShortName );
209 OUString aTargetStyleName;
210 const OUString* pTargetStyleName =
nullptr;
214 aTargetStyleName = rSearchName.copy(
maSearchName.getLength() + 1);
215 pTargetStyleName = &aTargetStyleName;
224 if( pFoundFontFace->
IsBetterMatch( rFSD, aFontMatchStatus ) )
225 pBestFontFace = pFoundFontFace;
228 return pBestFontFace;
240 rDevFontList.
Add( pFoundFontFace );
241 pPrevFace = pFoundFontFace;
PhysicalFontFamily * FindOrCreateFontFamily(const OUString &rFamilyName)
void Add(PhysicalFontFace *pFace)
void UpdateDevFontList(ImplDeviceFontList &) const
PhysicalFontFace * FindBestFontFace(const FontSelectPattern &rFSD) const
void InitMatchData(const utl::FontSubstConfiguration &, const OUString &rSearchName)
std::vector< rtl::Reference< PhysicalFontFace > > maFontFaces
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
OUString GetEnglishSearchFontName(const OUString &rInName)
void AddFontFace(PhysicalFontFace *)
FontItalic GetItalic() const
abstract base class for physical font faces
FontFamily GetFamilyType() const
static void CalcType(ImplFontAttrs &rType, FontWeight &rWeight, FontWidth &rWidth, FontFamily eFamily, const utl::FontNameAttr *pFontAttr)
FontWeight GetWeight() const
void SetFamilyName(const OUString &sFamilyName)
bool IsBetterMatch(const FontSelectPattern &, FontMatchStatus &) const
const OUString & GetMapNames() const
void UpdateCloneFontList(PhysicalFontCollection &) const
void GetFontHeights(o3tl::sorted_vector< int > &rHeights) const
static ImplFontAttrs lcl_IsCJKFont(const OUString &rFontName)
PhysicalFontFamily(const OUString &rSearchName)
ImplFontAttrs mnMatchType
FontTypeFaces mnTypeFaces
OUString maMatchFamilyName
bool IsSymbolFont() const
FontPitch GetPitch() const
std::pair< const_iterator, bool > insert(Value &&x)
const OUString & GetFamilyName() const
sal_Int32 CompareWithSize(const PhysicalFontFace &) const
sal_Int32 CompareIgnoreSize(const PhysicalFontFace &) const
const OUString & GetFamilyName() const