HOST-Oman/scribus

Font Name isn't displayed correctly

Closed this issue · 10 comments

After this commit : 9d853ea WenQuanYi font name isn't displayed correctly. See This screen shot:
wenquanyi

Looks fine here, what version of the font do you have? Anyway there is a different bug here, this font has English name and we should show that first, I was about to fix this but it is good to have a test font now :)

Shouldn't it try to find a string in system locale and fall back to English if local string isn't present?

Yes, but currently this name is stored in the file and will be used to reload the font again, so we want the name to be the same on all systems. The next step would be to separate the internal family name from the one displayed in the UI, then the later can prefer the system locale.

Now No CJK scripts displayed at all
cjk-font

Something is seriously broken here. Can you apply this patch and show the font list you will get on the terminal.

diff --git a/scribus/scfonts.cpp b/scribus/scfonts.cpp
index 74ab531..02dd260 100644
--- a/scribus/scfonts.cpp
+++ b/scribus/scfonts.cpp
@@ -438,6 +438,8 @@ static QString getFamilyName(const FT_Face face)
        }
    }

+   qDebug() << QString(face->family_name) << "\t" << familyName;
+
    return familyName;
 }

Here:

"Noto Sans Devanagari UI"    "Noto Sans Devanagari UI"
"Kinnari"    "Kinnari"
"DejaVu Sans"    "DejaVu Sans"
"Noto Sans Tamil"    "Noto Sans Tamil"
"FreeSans"   "FreeSans"
"Bitstream Charter"      "Bitstream Charter"
"Noto Sans UI"   "Noto Sans UI"
"Khalid"     "Khalid"
"Kinnari"    "Kinnari"
"Noto Sans"      "Noto Sans"
"DejaVu Sans"    "DejaVu Sans"
"Purisa"     "Purisa"
"TlwgMono"   "TlwgMono"
"Waree"      "Waree"
"DejaVu Sans"    "DejaVu Sans"
"Haramain"   "Haramain"
"KacstDigital"   "KacstDigital"
"NanumBarunGothic"   "NanumBarunGothic"
"Source Code Pro"    "Source Code Pro"
"Noto Nastaliq Urdu"     "Noto Nastaliq Urdu"
"Norasi"     "Norasi"
"NanumMyeongjo"      "NanumMyeongjo"
"Literata"   "Literata"
"Purisa"     "Purisa"
"Norasi"     "Norasi"
"KacstTitle"     "KacstTitle"
"DejaVu Sans"    "DejaVu Sans"
"Khmer OS System"    "Khmer OS System"
"TlwgMono"   "TlwgMono"
"Mashq"      "Mashq"
"Droid Sans Japanese"    "Droid Sans Japanese"
"DejaVu Sans"    "DejaVu Sans"
"URW Bookman L"      "URW Bookman L"
"Noto Sans"      "Noto Sans"
"Traditional Arabic"     "Traditional Arabic"
"URW Chancery L"     "URW Chancery L"
"Purisa"     "Purisa"
"DejaVu Serif"   "DejaVu Serif"
"Droid Sans Ethiopic"    "Droid Sans Ethiopic"
"FreeMono"   "FreeMono"
"NanumMyeongjo"      "NanumMyeongjo"
"Amiri"      "Amiri"
"Arab"   "Arab"
"Norasi"     "Norasi"
"Noto Sans Devanagari"   "Noto Sans Devanagari"
"KacstQurn"      "KacstQurn"
"DejaVu Sans Mono"   "DejaVu Sans Mono"
"Hack"   "Hack"
"Noto Serif Thai"    "Noto Serif Thai"
"Source Code Pro"    "Source Code Pro"
"Noto Sans Tamil UI"     "Noto Sans Tamil UI"
"Linux Libertine O"      "Linux Libertine O"
"Hani"   "Hani"
"Noto Serif Lao"     "Noto Serif Lao"
"Rekha"      "Rekha"
"URW Bookman L"      "URW Bookman L"
"KacstTitleL"    "KacstTitleL"
"Noto Sans"      "Noto Sans"
"Noto Naskh Arabic"      "Noto Naskh Arabic"
"Phetsarath OT"      "Phetsarath OT"
"DejaVu Serif"   "DejaVu Serif"
"AlArabiya"      "AlArabiya"
"Padauk"     "á\u0080\u0095á\u0080\u00ADá\u0080\u0090á\u0080±á\u0080¬á\u0080\u0080á\u0080º"
"URW Bookman L"      "URW Bookman L"
"Mada"   "Mada"
"Tlwg Typist"    "Tlwg Typist"
"Linux Libertine O"      "Linux Libertine O"
"Source Code Pro"    "Source Code Pro"
"Sawasdee"   "Sawasdee"
"Garuda"     "Garuda"
"Oxygen Mono"    "Oxygen Mono"
"Linux Libertine O"      "Linux Libertine O"
"Norasi"     "Norasi"
"Bitstream Charter"      "Bitstream Charter"
"Sawasdee"   "Sawasdee"
"Umpush"     "Umpush"
"Courier 10 Pitch"   "Courier 10 Pitch"
"Purisa"     "Purisa"
"Mirza"      "Mirza"
"Noto Sans Tamil"    "Noto Sans Tamil"
"Literata"   "Literata"
"FreeMono"   "FreeMono"
"NanumGothic"    "NanumGothic"
"Kedage"     "Kedage"
"Electron"   "Electron"
"Khmer OS"   "Khmer OS"
"URW Bookman L"      "URW Bookman L"
"Droid Sans"     "Droid Sans"
"Linux Biolinum O"   "Linux Biolinum O"
"Courier 10 Pitch"   "Courier 10 Pitch"
"Linux Biolinum Keyboard O"      "Linux Biolinum Keyboard O"
"Ostorah"    "Ostorah"
"Noto Sans UI"   "Noto Sans UI"
"Source Code Pro"    "Source Code Pro"
"Droid Sans Hebrew"      "Droid Sans Hebrew"
"DejaVu Serif"   "DejaVu Serif"
"Norasi"     "Norasi"
"Kinnari"    "Kinnari"
"Droid Serif"    "Droid Serif"
"Aref Ruqaa"     "Aref Ruqaa"
"FreeSerif"      "FreeSerif"
"Mirza"      "Mirza"
"DejaVu Serif"   "DejaVu Serif"
"DejaVu Sans"    "DejaVu Sans"
"Droid Sans Ethiopic"    "Droid Sans Ethiopic"
"DejaVu Serif"   "DejaVu Serif"
"Aref Ruqaa"     "Aref Ruqaa"
"Century Schoolbook L"   "Century Schoolbook L"
"Padauk Book"    "á\u0080\u0095á\u0080\u00ADá\u0080\u0090á\u0080±á\u0080¬á\u0080\u0080á\u0080ºá\u0080\u0085á\u0080¬á\u0080¡á\u0080¯á\u0080\u0095á\u0080º"
"Standard Symbols L"     "Standard Symbols L"
"FreeSans"   "FreeSans"
"Source Code Pro"    "Source Code Pro"
"Kedage"     "Kedage"
"Noto Sans Devanagari"   "Noto Sans Devanagari"
"KacstOne"   "KacstOne"
"Sharjah"    "Sharjah"
"AlYarmook"      "AlYarmook"
"Century Schoolbook L"   "Century Schoolbook L"
"Linux Libertine Display O"      "Linux Libertine Display O"
"DejaVu Serif"   "DejaVu Serif"
"gargi"      "gargi"
"Hor"    "Hor"
"Pothana2000"    "Pothana2000"
"Petra"      "Petra"
"Noto Sans Lao"      "Noto Sans Lao"
"Yakout Linotype"    "Yakout Linotype"
"Mada"   "Mada"
"Droid Sans Hebrew"      "Droid Sans Hebrew"
"Noto Serif"     "Noto Serif"
"Amiri"      "Amiri"
"Noto Serif"     "Noto Serif"
"Tlwg Typo"      "Tlwg Typo"
"Courier 10 Pitch"   "Courier 10 Pitch"
"Nada"   "Nada"
"Century Schoolbook L"   "Century Schoolbook L"
"LKLUG"      "LKLUG"
"Droid Sans Fallback"    "Droid Sans Fallback"
"DejaVu Sans"    "DejaVu Sans"
"Tholoth"    "Tholoth"
"KacstPoster"    "KacstPoster"
"Furat"      "Furat"
"Kinnari"    "Kinnari"
"Century Schoolbook L"   "Century Schoolbook L"
"Scheherazade"   "Scheherazade"
"Source Code Pro"    "Source Code Pro"
"Ezra SIL"   "Ezra SIL"
"Mirza"      "Mirza"
"Noto Sans UI"   "Noto Sans UI"
"DejaVu Sans"    "DejaVu Sans"
"Noto Sans Thai UI"      "Noto Sans Thai UI"
"Source Code Pro"    "Source Code Pro"
"Source Code Pro"    "Source Code Pro"
"Metal"      "Metal"
"Amiri"      "Amiri"
"Loma"   "Loma"
"Mallige"    "Mallige"
"URW Palladio L"     "URW Palladio L"
"DejaVu Sans"    "DejaVu Sans"
"URW Palladio L"     "URW Palladio L"
"Noto Sans UI"   "Noto Sans UI"
"Jet"    "Jet"
"Source Code Pro"    "Source Code Pro"
"Bitstream Charter"      "Bitstream Charter"
"Noto Serif Georgian"    "Noto Serif Georgian"
"Literata"   "Literata"
"Ubuntu Mono"    "Ubuntu Mono"
"TakaoPGothic"   "TakaoPGothic"
"Umpush"     "Umpush"
"DejaVu Serif"   "DejaVu Serif"
"Mallige"    "Mallige"
"Hack"   "Hack"
"Source Code Pro"    "Source Code Pro"
"URW Palladio L"     "URW Palladio L"
"Kayrawan"   "Kayrawan"
"Umpush"     "Umpush"
"URW Gothic L"   "URW Gothic L"
"URW Palladio L"     "URW Palladio L"
"Noto Sans Thai UI"      "Noto Sans Thai UI"
"Hack"   "Hack"
"Charis SIL"     "Charis SIL"
"Mukti Narrow"   "Mukti Narrow"
"NanumGothic"    "NanumGothic"
"Literata"   "Literata"
"Ubuntu Mono"    "Ubuntu Mono"
"Mada"   "Mada"
"Vemana2000"     "Vemana2000"
"DejaVu Sans Mono"   "DejaVu Sans Mono"
"Noto Serif Lao"     "Noto Serif Lao"
"Noto Sans Malayalam"    "Noto Sans Malayalam"
"DejaVu Sans"    "DejaVu Sans"
"Umpush"     "Umpush"
"Padauk Book"    "á\u0080\u0095á\u0080\u00ADá\u0080\u0090á\u0080±á\u0080¬á\u0080\u0080á\u0080ºá\u0080\u0085á\u0080¬á\u0080¡á\u0080¯á\u0080\u0095á\u0080º"
"URW Gothic L"   "URW Gothic L"
"Cortoba"    "Cortoba"
"TlwgTypewriter"     "TlwgTypewriter"
"FreeMono"   "FreeMono"
"Lohit Tamil"    "Lohit Tamil"
"IPAexMincho"    "IPAexMincho"
"FreeSerif"      "FreeSerif"
"ori1Uni"    "ori1Uni"
"URW Gothic L"   "URW Gothic L"
"KacstArt"   "KacstArt"
"Noto Sans Armenian"     "Noto Sans Armenian"
"Oxygen-Sans"    "Oxygen-Sans"
"Charis SIL"     "Charis SIL"
"Graph"      "Graph"
"Lohit Gujarati"     "Lohit Gujarati"
"Garuda"     "Garuda"
"Charis SIL"     "Charis SIL"
"DejaVu Serif"   "DejaVu Serif"
"Noto Serif"     "Noto Serif"
"Waree"      "Waree"
"Andika New Basic"   "Andika New Basic"
"Nimbus Sans L"      "Nimbus Sans L"
"FreeSerif"      "FreeSerif"
"Noto Sans"      "Noto Sans"
"Bitstream Charter"      "Bitstream Charter"
"Andika New Basic"   "Andika New Basic"
"Sawasdee"   "Sawasdee"
"Loma"   "Loma"
"IPAexMincho"    "IPAexMincho"
"Courier 10 Pitch"   "Courier 10 Pitch"
"URW Gothic L"   "URW Gothic L"
"Noto Sans Thai"     "Noto Sans Thai"
"KacstOffice"    "KacstOffice"
"Shado"      "Shado"
"Padauk"     "á\u0080\u0095á\u0080\u00ADá\u0080\u0090á\u0080±á\u0080¬á\u0080\u0080á\u0080º"
"mry_KacstQurn"      "mry_KacstQurn"
"Linux Libertine O"      "Linux Libertine O"
"Yakout Linotype"    "Yakout Linotype"
"Linux Libertine O"      "Linux Libertine O"
"Tlwg Typist"    "Tlwg Typist"
"Nafees"     "Nafees"
"Kinnari"    "Kinnari"
"TlwgTypewriter"     "TlwgTypewriter"
"Lohit Devanagari"   "Lohit Devanagari"
"Dimnah"     "Dimnah"
"Noto Naskh Arabic"      "Noto Naskh Arabic"
"Sindbad"    "Sindbad"
"Nimbus Sans L"      "Nimbus Sans L"
"Andika New Basic"   "Andika New Basic"
"Noto Sans Hebrew"   "Noto Sans Hebrew"
"Noto Sans Malayalam"    "Noto Sans Malayalam"
"Sawasdee"   "Sawasdee"
"Umpush"     "Umpush"
"NanumBarunGothic"   "NanumBarunGothic"
"Lohit Bengali"      "Lohit Bengali"
"Nimbus Sans L"      "Nimbus Sans L"
"Noto Sans"      "Noto Sans"
"AlBattar"   "AlBattar"
"AlHor"      "AlHor"
"Oxygen-Sans"    "Oxygen-Sans"
"Nimbus Mono L"      "Nimbus Mono L"
"Droid Sans Thai"    "Droid Sans Thai"
"Charis SIL"     "Charis SIL"
"Noto Sans Devanagari UI"    "Noto Sans Devanagari UI"
"Nimbus Sans L"      "Nimbus Sans L"
"Noto Sans Armenian"     "Noto Sans Armenian"
"DejaVu Serif"   "DejaVu Serif"
"Nimbus Mono L"      "Nimbus Mono L"
"Linux Libertine Mono O"     "Linux Libertine Mono O"
"Loma"   "Loma"
"Noto Sans Georgian"     "Noto Sans Georgian"
"Droid Sans Armenian"    "Droid Sans Armenian"
"Ubuntu Mono"    "Ubuntu Mono"
"Noto Sans Ethiopic"     "Noto Sans Ethiopic"
"Nimbus Sans L"      "Nimbus Sans L"
"KacstPen"   "KacstPen"
"Ubuntu Mono"    "Ubuntu Mono"
"Source Code Pro"    "Source Code Pro"
"Ubuntu Arabic"      "Ubuntu Arabic"
"Noto Serif Thai"    "Noto Serif Thai"
"FreeSans"   "FreeSans"
"Linux Biolinum O"   "Linux Biolinum O"
"Ubuntu"     "Ubuntu"
"ALM Fixed"      "ALM Fixed"
"Tlwg Typist"    "Tlwg Typist"
"Ubuntu Arabic"      "Ubuntu Arabic"
"Japan"      "Japan"
"TlwgTypewriter"     "TlwgTypewriter"
"Ubuntu"     "Ubuntu"
"DejaVu Sans"    "DejaVu Sans"
"Noto Serif Armenian"    "Noto Serif Armenian"
"Abyssinica SIL"     "Abyssinica SIL"
"Ubuntu"     "Ubuntu"
"Tlwg Typo"      "Tlwg Typo"
"Droid Sans Georgian"    "Droid Sans Georgian"
"Lohit Punjabi"      "Lohit Punjabi"
"Ubuntu"     "Ubuntu"
"Ouhod"      "Ouhod"
"Noto Serif Armenian"    "Noto Serif Armenian"
"Nimbus Sans L"      "Nimbus Sans L"
"Linux Libertine Initials O"     "Linux Libertine Initials O"
"Noto Sans Lao"      "Noto Sans Lao"
"Nimbus Roman No9 L"     "Nimbus Roman No9 L"
"Droid Serif"    "Droid Serif"
"Amiri Quran"    "Amiri Quran"
"Ubuntu Condensed"   "Ubuntu Condensed"
"Nimbus Sans L"      "Nimbus Sans L"
"Linux Biolinum O"   "Linux Biolinum O"
"Granada"    "Granada"
"Doulos SIL"     "Doulos SIL"
"Linux Libertine O"      "Linux Libertine O"
"Nimbus Roman No9 L"     "Nimbus Roman No9 L"
"Ubuntu"     "Ubuntu"
"Noto Sans Lao UI"   "Noto Sans Lao UI"
"FreeSans"   "FreeSans"
"Tibetan Machine Uni"    "Tibetan Machine Uni"
"Noto Sans Thai"     "Noto Sans Thai"
"Ubuntu"     "Ubuntu"
"Noto Sans Lao UI"   "Noto Sans Lao UI"
"Nimbus Mono L"      "Nimbus Mono L"
"DejaVu Sans Mono"   "DejaVu Sans Mono"
"Salem"      "Salem"
"KacstOne"   "KacstOne"
"TlwgMono"   "TlwgMono"
"Nimbus Sans L"      "Nimbus Sans L"
"DejaVu Sans"    "DejaVu Sans"
"DejaVu Serif"   "DejaVu Serif"
"Nimbus Roman No9 L"     "Nimbus Roman No9 L"
"Mukti Narrow"   "Mukti Narrow"
"Nimbus Mono L"      "Nimbus Mono L"
"DejaVu Serif"   "DejaVu Serif"
"Kinnari"    "Kinnari"
"Nimbus Roman No9 L"     "Nimbus Roman No9 L"
"DejaVu Serif"   "DejaVu Serif"
"Nice"   "Nice"
"Ubuntu"     "Ubuntu"
"Mirza"      "Mirza"
"Noto Sans Georgian"     "Noto Sans Georgian"
"Droid Sans"     "Droid Sans"
"Noto Sans"      "Noto Sans"
"Waree"      "Waree"
"Noto Sans"      "Noto Sans"
"Katibeh"    "Katibeh"
"Noto Sans Hebrew"   "Noto Sans Hebrew"
"Droid Sans Mono"    "Droid Sans Mono"
"WenQuanYi Micro Hei"    "WenQuanYi Micro Hei"
"WenQuanYi Micro Hei Mono"   "WenQuanYi Micro Hei Mono"
"DejaVu Sans"    "DejaVu Sans"
"OpenSymbol"     "OpenSymbol"
"Dingbats"   "Dingbats"
"KacstNaskh"     "KacstNaskh"
"Oxygen Mono"    "Oxygen Mono"
"Symbol"     "Symbol"
"Waree"      "Waree"
"Garuda"     "Garuda"
"Tlwg Typist"    "Tlwg Typist"
"DejaVu Serif"   "DejaVu Serif"
"Noto Sans Tamil UI"     "Noto Sans Tamil UI"
"Meera"      "Meera"
"Source Code Pro"    "Source Code Pro"
"FreeSerif"      "FreeSerif"
"DejaVu Sans"    "DejaVu Sans"
"Ubuntu"     "Ubuntu"
"Tlwg Typo"      "Tlwg Typo"
"Saab"   "Saab"
"Ubuntu"     "Ubuntu"
"Garuda"     "Garuda"
"Noto Sans"      "Noto Sans"
"TlwgTypewriter"     "TlwgTypewriter"
"DejaVu Sans Mono"   "DejaVu Sans Mono"
"TlwgMono"   "TlwgMono"
"FreeMono"   "FreeMono"
"DejaVu Serif"   "DejaVu Serif"
"AlManzomah"     "AlManzomah"
"DejaVu Sans Mono"   "DejaVu Sans Mono"
"KacstDecorative"    "KacstDecorative"
"Andika New Basic"   "Andika New Basic"
"Source Code Pro"    "Source Code Pro"
"Symbol"     "Symbol"
"Rasheeq"    "Rasheeq"
"KacstFarsi"     "KacstFarsi"
"KacstScreen"    "KacstScreen"
"Mashq"      "Mashq"
"KacstBook"      "KacstBook"
"Rachana"    "Rachana"
"Tarablus"   "Tarablus"
"DejaVu Sans"    "DejaVu Sans"
"Noto Serif"     "Noto Serif"
"Droid Serif"    "Droid Serif"
"Umpush"     "Umpush"
"Amiri"      "Amiri"
"Noto Sans Ethiopic"     "Noto Sans Ethiopic"
"Loma"   "Loma"
"Noto Serif Georgian"    "Noto Serif Georgian"
"Hack"   "Hack"
"TakaoPGothic"   "TakaoPGothic"
"Droid Serif"    "Droid Serif"
"DejaVu Sans"    "DejaVu Sans"
"Norasi"     "Norasi"
"Droid Arabic Naskh"     "Droid Arabic Naskh"
"Source Code Pro"    "Source Code Pro"
"Tlwg Typo"      "Tlwg Typo"
"KacstLetter"    "KacstLetter"
"Rehan"      "Rehan"
"Nagham"     "Nagham"
"DejaVu Sans Mono"   "DejaVu Sans Mono"
"Droid Arabic Naskh"     "Droid Arabic Naskh"

Padauk is the culprit here, it has many bogus name table entries. I now switched the order to try MS platform names first as this is likely the more tested one.

I think we should report this issue to SIL as well (http://scripts.sil.org/padauk), but I don’t know how.

Now it is fixed. Thanks.