Closed
Bug 67716
Opened 25 years ago
Closed 25 years ago
X font should recognize font subsetted (plane'd) groups
Categories
(Core :: Layout, defect)
Tracking
()
RESOLVED
INVALID
People
(Reporter: bstell, Assigned: bstell)
Details
cns11643-1
cns11643-2
cns11643-3
cns11643-4
cns11643-5
...
nsFontMetricsGTK::FindGenericFont
3016 nsFontGTK*
3017 nsFontMetricsGTK::FindGenericFont(PRUnichar aChar)
3018 {
3019 if (mTriedAllGenerics) {
3020 return nsnull;
3021 }
3022 nsCAutoString prefix("font.name.");
3023 prefix.Append(*mGeneric);
3024 if (mLangGroup) {
3025 nsCAutoString pref = prefix;
3026 pref.Append(char('.'));
3027 const PRUnichar* langGroup = nsnull;
3028 mLangGroup->GetUnicode(&langGroup);
3029 pref.AppendWithConversion(langGroup);
3030 char* value = nsnull;
3031 gPref->CopyCharPref(pref.GetBuffer(), &value);
3032 nsCAutoString str;
3033 nsFontGTK* font;
3034 if (value) {
3035 str = value;
3036 nsMemory::Free(value);
3037 value = nsnull;
3038 font = TryNode(&str, aChar);
3039 if (font && font->SupportsChar(aChar)) {
3040 return font;
3041 }
not in primary plane so try all the other planes
3042 }
3043 value = nsnull;
| Assignee | ||
Comment 1•25 years ago
|
||
font vendors are subsetting or plane'ing the fonts; eg: cns11643-1, cns11643-2,
...
The font display code needs to recognize and collect these subsets so characters
in the other planes are displayed with the subset from this font instead of just
a fallback from the total list of fonts.
For example: if a user specifies "sun-ming-cns11643-1" as the font for
traditional Chinese and the document has chars that are in plane 2 they should
use "sun-ming-cns11643-2" before looking for a fallback.
we probably want to have a list of the planes in a font that each nsFontNode can
point to so chars in other planes can find the related font quickly.
| Assignee | ||
Comment 2•25 years ago
|
||
duplicate of
http://bugzilla.mozilla.org/show_bug.cgi?id=67732
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → INVALID
You need to log in
before you can comment on or make changes to this bug.
Description
•