Hi Sergio, Ricardo,
Thanks for the reply. I am trying to use "Segoe UI Symbol" to show the character. It happens both when I set the character in XAML and from code (through binding).
Debugging the issue, I found that it happen if my application register "Segoe UI" font before "Segoe UI Symbol".
In that case the CachedFontProvider::FamilyExists returns true for "Segoe UI Symbol" and it doesn't get registered properly.
In the below code:
familyName is "Segoe UI Symbol"
family.key is "Segoe UI"
that makes StrCaseStartsWith(familyName, family.key.Str())) evaluates to true.
I think it shouldn't be true for the relation of "Segoe UI" and "Segoe UI Symbol" because they are considered different font family.
bool CachedFontProvider::FamilyExists(const Uri& baseUri, const char* familyName)
{
Uri folder;
NormalizeFolder(baseUri, folder);
Families& families = GetFolder(folder);
Families::Iterator it = families.Find(familyName);
if (it != families.End())
{
return true;
}
else
{
for (Families::Bucket& family : families)
{
if (StrCaseStartsWith(familyName, family.key.Str()))
{
return true;
}
}
}
return false;
}