[NTGDI][FREETYPE][SETUP][INF] Support FontLink (#7009)

If East Asian people were unable
to see the Latin characters, it
becomes a barrier to mutual
understanding.
FontLink will break that barrier.
JIRA issue: CORE-9616
JIRA issue: CORE-15480
- Modify font substitutes.
- Unify the lock variables.
- Add FONTLINK and
  FONTLINK_CHAIN structures.
- Add FontLink_Create and
  FontLink_Destroy functions.
- Add FontLink_Chain_Init,
  FontLink_Chain_Free,
  FontLink_Chain_LoadReg,
  FontLink_Chain_Populate, and
  FontLink_Chain_FindGlyph
  functions.
- Implement FontLink.
- Add font file DroidSansFallback.ttf
  for LiveCD.
This commit is contained in:
Katayama Hirofumi MZ 2024-06-30 22:15:34 +09:00 committed by GitHub
parent f28e983932
commit 0f9e889736
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 840 additions and 103 deletions

View file

@ -148,7 +148,6 @@ MUI_SUBFONT ChineseSimplifiedFonts[] =
{ L"Courier New Greek,161", L"Courier New,161" },
{ L"Courier New TUR,162", L"Courier New,162" },
{ L"Fixedsys", L"Fixedsys Excelsior 3.01-L2" },
{ L"Franklin Gothic Medium", L"Droid Sans Fallback" },
{ L"Helv", L"MS Sans Serif" },
{ L"Helvetica", L"Arial" },
{ L"MS Sans Serif", L"Droid Sans Fallback" },
@ -161,9 +160,6 @@ MUI_SUBFONT ChineseSimplifiedFonts[] =
{ L"Segoe UI Symbol", L"Arial" },
{ L"SimHei", L"Droid Sans Fallback" },
{ L"SimSun", L"Droid Sans Fallback" },
{ L"Source Sans Pro", L"Droid Sans Fallback" },
{ L"System", L"Droid Sans Fallback" },
{ L"Tahoma", L"Droid Sans Fallback" },
{ L"Terminal", L"Lucida Console" },
{ L"Times", L"Times New Roman" },
{ L"Times New Roman Baltic,186", L"Times New Roman,186" },
@ -202,7 +198,6 @@ MUI_SUBFONT ChineseTraditionalFonts[] =
{ L"DLCMingBold", L"Droid Sans Fallback" },
{ L"DLCMingMedium", L"Droid Sans Fallback" },
{ L"Fixedsys", L"Fixedsys Excelsior 3.01-L2" },
{ L"Franklin Gothic Medium", L"Droid Sans Fallback" },
{ L"Helv", L"MS Sans Serif" },
{ L"Helvetica", L"Arial" },
{ L"MS Sans Serif", L"Droid Sans Fallback" },
@ -214,9 +209,6 @@ MUI_SUBFONT ChineseTraditionalFonts[] =
{ L"MingLiU", L"Droid Sans Fallback" },
{ L"PMingLiU", L"Droid Sans Fallback" },
{ L"Segoe UI Symbol", L"Arial" },
{ L"Source Sans Pro", L"Droid Sans Fallback" },
{ L"System", L"Droid Sans Fallback" },
{ L"Tahoma", L"Droid Sans Fallback" },
{ L"Terminal", L"Lucida Console" },
{ L"Times", L"Times New Roman" },
{ L"Times New Roman Baltic,186", L"Times New Roman,186" },
@ -252,7 +244,6 @@ MUI_SUBFONT JapaneseFonts[] =
{ L"Courier New Greek,161", L"Courier New,161" },
{ L"Courier New TUR,162", L"Courier New,162" },
{ L"Fixedsys", L"Fixedsys Excelsior 3.01-L2" },
{ L"Franklin Gothic Medium", L"Droid Sans Fallback" },
{ L"Helv", L"MS Sans Serif" },
{ L"Helvetica", L"Arial" },
{ L"MS Gothic", L"Droid Sans Fallback" },
@ -265,9 +256,6 @@ MUI_SUBFONT JapaneseFonts[] =
{ L"MS UI Gothic", L"Droid Sans Fallback" },
{ L"MS UI Gothic 2", L"Droid Sans Fallback" },
{ L"Segoe UI Symbol", L"Arial" },
{ L"Source Sans Pro", L"Droid Sans Fallback" },
{ L"System", L"Droid Sans Fallback" },
{ L"Tahoma", L"Droid Sans Fallback" },
{ L"Terminal", L"Lucida Console" },
{ L"Times", L"Times New Roman" },
{ L"Times New Roman Baltic,186", L"Times New Roman,186" },
@ -287,10 +275,12 @@ MUI_SUBFONT JapaneseFonts[] =
WCHAR KF_LocalName0[] = {0xBC14, 0xD0D5, 0}; /* Batang */
WCHAR KF_LocalName1[] = {0xBC14, 0xD0D5, 0xCCB4, 0}; /* BatangChe */
WCHAR KF_LocalName2[] = {0xAD81, 0xC11C, 0}; /* Gungsuh */
WCHAR KF_LocalName3[] = {0xAD81, 0xC11C, 0xCCB4, 0}; /* GungsuhChe */
WCHAR KF_LocalName2[] = {0xB3CB, 0xC6C0, 0}; /* Dotum */
WCHAR KF_LocalName3[] = {0xB3CB, 0xC6C0, 0xCCB4, 0}; /* DotumChe */
WCHAR KF_LocalName4[] = {0xAD74, 0xB9BC, 0}; /* Gulim */
WCHAR KF_LocalName5[] = {0xAD74, 0xB9BC, 0xCCB4, 0}; /* GulimChe */
WCHAR KF_LocalName6[] = {0xAD81, 0xC11C, 0}; /* Gungsuh */
WCHAR KF_LocalName7[] = {0xAD81, 0xC11C, 0xCCB4, 0}; /* GungsuhChe */
MUI_SUBFONT KoreanFonts[] =
{
{ L"Arial Baltic,186", L"Arial,186" },
@ -306,8 +296,9 @@ MUI_SUBFONT KoreanFonts[] =
{ L"Courier New CYR,204", L"Courier New,204" },
{ L"Courier New Greek,161", L"Courier New,161" },
{ L"Courier New TUR,162", L"Courier New,162" },
{ L"Dotum", L"Droid Sans Fallback" },
{ L"DotumChe", L"Droid Sans Fallback" },
{ L"Fixedsys", L"Fixedsys Excelsior 3.01-L2" },
{ L"Franklin Gothic Medium", L"Droid Sans Fallback" },
{ L"Gulim", L"Droid Sans Fallback" },
{ L"GulimChe", L"Droid Sans Fallback" },
{ L"Gungsuh", L"Droid Sans Fallback" },
@ -320,9 +311,6 @@ MUI_SUBFONT KoreanFonts[] =
{ L"MS UI Gothic", L"Droid Sans Fallback" },
{ L"MS UI Gothic 2", L"Droid Sans Fallback" },
{ L"Segoe UI Symbol", L"Arial" },
{ L"Source Sans Pro", L"Droid Sans Fallback" },
{ L"System", L"Droid Sans Fallback" },
{ L"Tahoma", L"Droid Sans Fallback" },
{ L"Terminal", L"Lucida Console" },
{ L"Times", L"Times New Roman" },
{ L"Times New Roman Baltic,186", L"Times New Roman,186" },
@ -339,6 +327,8 @@ MUI_SUBFONT KoreanFonts[] =
{ KF_LocalName3, L"Droid Sans Fallback" },
{ KF_LocalName4, L"Droid Sans Fallback" },
{ KF_LocalName5, L"Droid Sans Fallback" },
{ KF_LocalName6, L"Droid Sans Fallback" },
{ KF_LocalName7, L"Droid Sans Fallback" },
{ NULL, NULL }
};