]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Universal/BdsDxe/Language.c
Remove IntelFrameworkModulePkg
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / BdsDxe / Language.c
diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/Language.c b/IntelFrameworkModulePkg/Universal/BdsDxe/Language.c
deleted file mode 100644 (file)
index 32134e3..0000000
+++ /dev/null
@@ -1,493 +0,0 @@
-/** @file\r
-  Language settings\r
-\r
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include "Language.h"\r
-#include "FrontPage.h"\r
-\r
-EFI_GUID  mFontPackageGuid = {\r
-  0x78941450, 0x90ab, 0x4fb1, {0xb7, 0x5f, 0x58, 0x92, 0x14, 0xe2, 0x4a, 0xc}\r
-};\r
-\r
-#define NARROW_GLYPH_NUMBER 8\r
-#define WIDE_GLYPH_NUMBER   75\r
-\r
-typedef struct {\r
-  ///\r
-  /// This 4-bytes total array length is required by HiiAddPackages()\r
-  ///\r
-  UINT32                 Length;\r
-\r
-  //\r
-  // This is the Font package definition\r
-  //\r
-  EFI_HII_PACKAGE_HEADER Header;\r
-  UINT16                 NumberOfNarrowGlyphs;\r
-  UINT16                 NumberOfWideGlyphs;\r
-  EFI_NARROW_GLYPH       NarrowArray[NARROW_GLYPH_NUMBER];\r
-  EFI_WIDE_GLYPH         WideArray[WIDE_GLYPH_NUMBER];\r
-} FONT_PACK_BIN;\r
-\r
-FONT_PACK_BIN mFontBin = {\r
-  sizeof (FONT_PACK_BIN),\r
-  {\r
-    sizeof (FONT_PACK_BIN) - sizeof (UINT32),\r
-    EFI_HII_PACKAGE_SIMPLE_FONTS,\r
-  },\r
-  NARROW_GLYPH_NUMBER,\r
-  0,\r
-  {     // Narrow Glyphs\r
-    {\r
-      0x05d0,\r
-      0x00,\r
-      {\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x4E,\r
-        0x6E,\r
-        0x62,\r
-        0x32,\r
-        0x32,\r
-        0x3C,\r
-        0x68,\r
-        0x4C,\r
-        0x4C,\r
-        0x46,\r
-        0x76,\r
-        0x72,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00\r
-      }\r
-    },\r
-    {\r
-      0x05d1,\r
-      0x00,\r
-      {\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x78,\r
-        0x7C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x7E,\r
-        0x7E,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00\r
-      }\r
-    },\r
-    {\r
-      0x05d2,\r
-      0x00,\r
-      {\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x78,\r
-        0x7C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x1C,\r
-        0x3E,\r
-        0x66,\r
-        0x66,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00\r
-      }\r
-    },\r
-    {\r
-      0x05d3,\r
-      0x00,\r
-      {\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x7E,\r
-        0x7E,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00\r
-      }\r
-    },\r
-    {\r
-      0x05d4,\r
-      0x00,\r
-      {\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x7C,\r
-        0x7E,\r
-        0x06,\r
-        0x06,\r
-        0x06,\r
-        0x06,\r
-        0x66,\r
-        0x66,\r
-        0x66,\r
-        0x66,\r
-        0x66,\r
-        0x66,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00\r
-      }\r
-    },\r
-    {\r
-      0x05d5,\r
-      0x00,\r
-      {\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x3C,\r
-        0x3C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x0C,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00\r
-      }\r
-    },\r
-    {\r
-      0x05d6,\r
-      0x00,\r
-      {\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x38,\r
-        0x38,\r
-        0x1E,\r
-        0x1E,\r
-        0x18,\r
-        0x18,\r
-        0x18,\r
-        0x18,\r
-        0x18,\r
-        0x18,\r
-        0x18,\r
-        0x18,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00\r
-      }\r
-    },\r
-    {\r
-      0x0000,\r
-      0x00,\r
-      {\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00,\r
-        0x00\r
-      }\r
-    }\r
-  }\r
-};\r
-\r
-/**\r
-  Routine to export glyphs to the HII database.  This is in addition to whatever is defined in the Graphics Console driver.\r
-\r
-**/\r
-VOID\r
-ExportFonts (\r
-  VOID\r
-  )\r
-{\r
-  EFI_HII_HANDLE               HiiHandle;\r
-\r
-  HiiHandle = HiiAddPackages (\r
-                &mFontPackageGuid,\r
-                gImageHandle,\r
-                &mFontBin,\r
-                NULL\r
-                );\r
-  ASSERT (HiiHandle != NULL);\r
-}\r
-\r
-/**\r
-  Get next language from language code list (with separator ';').\r
-\r
-  If LangCode is NULL, then ASSERT.\r
-  If Lang is NULL, then ASSERT.\r
-\r
-  @param  LangCode    On input: point to first language in the list. On\r
-                                 output: point to next language in the list, or\r
-                                 NULL if no more language in the list.\r
-  @param  Lang           The first language in the list.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-GetNextLanguage (\r
-  IN OUT CHAR8      **LangCode,\r
-  OUT CHAR8         *Lang\r
-  )\r
-{\r
-  UINTN  Index;\r
-  CHAR8  *StringPtr;\r
-\r
-  ASSERT (LangCode != NULL);\r
-  ASSERT (*LangCode != NULL);\r
-  ASSERT (Lang != NULL);\r
-\r
-  Index = 0;\r
-  StringPtr = *LangCode;\r
-  while (StringPtr[Index] != 0 && StringPtr[Index] != ';') {\r
-    Index++;\r
-  }\r
-\r
-  CopyMem (Lang, StringPtr, Index);\r
-  Lang[Index] = 0;\r
-\r
-  if (StringPtr[Index] == ';') {\r
-    Index++;\r
-  }\r
-  *LangCode = StringPtr + Index;\r
-}\r
-\r
-/**\r
-  Check if lang is in supported language codes according to language string.\r
-\r
-  This code is used to check if lang is in in supported language codes. It can handle\r
-  RFC4646 and ISO639 language tags.\r
-  In ISO639 language tags, take 3-characters as a delimitation to find matched string.\r
-  In RFC4646 language tags, take semicolon as a delimitation to find matched string.\r
-\r
-  For example:\r
-    SupportedLang  = "engfraengfra"\r
-    Iso639Language = TRUE\r
-    Lang           = "eng", the return value is "TRUE", or\r
-    Lang           = "chs", the return value is "FALSE".\r
-  Another example:\r
-    SupportedLang  = "en;fr;en-US;fr-FR"\r
-    Iso639Language = FALSE\r
-    Lang           = "en", the return value is "TRUE", or\r
-    Lang           = "zh", the return value is "FALSE".\r
-\r
-  @param  SupportedLang               Platform supported language codes.\r
-  @param  Lang                        Configured language.\r
-  @param  Iso639Language              A bool value to signify if the handler is operated on ISO639 or RFC4646.\r
-\r
-  @retval TRUE  lang is in supported language codes.\r
-  @retval FALSE lang is not in supported language codes.\r
-\r
-**/\r
-BOOLEAN\r
-IsLangInSupportedLangCodes(\r
-  IN  CHAR8            *SupportedLang,\r
-  IN  CHAR8            *Lang,\r
-  IN  BOOLEAN          Iso639Language\r
-  )\r
-{\r
-  UINTN    Index;\r
-  UINTN    CompareLength;\r
-  UINTN    LanguageLength;\r
-\r
-  if (Iso639Language) {\r
-    CompareLength = ISO_639_2_ENTRY_SIZE;\r
-    for (Index = 0; Index < AsciiStrLen (SupportedLang); Index += CompareLength) {\r
-      if (AsciiStrnCmp (Lang, SupportedLang + Index, CompareLength) == 0) {\r
-        //\r
-        // Successfully find the Lang string in SupportedLang string.\r
-        //\r
-        return TRUE;\r
-      }\r
-    }\r
-    return FALSE;\r
-  } else {\r
-    //\r
-    // Compare RFC4646 language code\r
-    //\r
-    for (LanguageLength = 0; Lang[LanguageLength] != '\0'; LanguageLength++);\r
-\r
-    for (; *SupportedLang != '\0'; SupportedLang += CompareLength) {\r
-      //\r
-      // Skip ';' characters in SupportedLang\r
-      //\r
-      for (; *SupportedLang != '\0' && *SupportedLang == ';'; SupportedLang++);\r
-      //\r
-      // Determine the length of the next language code in SupportedLang\r
-      //\r
-      for (CompareLength = 0; SupportedLang[CompareLength] != '\0' && SupportedLang[CompareLength] != ';'; CompareLength++);\r
-\r
-      if ((CompareLength == LanguageLength) &&\r
-          (AsciiStrnCmp (Lang, SupportedLang, CompareLength) == 0)) {\r
-        //\r
-        // Successfully find the Lang string in SupportedLang string.\r
-        //\r
-        return TRUE;\r
-      }\r
-    }\r
-    return FALSE;\r
-  }\r
-}\r
-\r
-/**\r
-  Initialize Lang or PlatformLang variable, if Lang or PlatformLang variable is not found,\r
-  or it has been set to an unsupported value(not one of platform supported language codes),\r
-  set the default language code to it.\r
-\r
-  @param  LangName                    Language name, L"Lang" or L"PlatformLang".\r
-  @param  SupportedLang               Platform supported language codes.\r
-  @param  DefaultLang                 Default language code.\r
-  @param  Iso639Language              A bool value to signify if the handler is operated on ISO639 or RFC4646,\r
-                                      TRUE for L"Lang" LangName or FALSE for L"PlatformLang" LangName.\r
-\r
-**/\r
-VOID\r
-InitializeLangVariable (\r
-  IN CHAR16     *LangName,\r
-  IN CHAR8      *SupportedLang,\r
-  IN CHAR8      *DefaultLang,\r
-  IN BOOLEAN    Iso639Language\r
-  )\r
-{\r
-  CHAR8       *Lang;\r
-\r
-  //\r
-  // Find current Lang or PlatformLang from EFI Variable.\r
-  //\r
-  GetEfiGlobalVariable2 (LangName, (VOID **) &Lang, NULL);\r
-  //\r
-  // If Lang or PlatformLang variable is not found,\r
-  // or it has been set to an unsupported value(not one of the supported language codes),\r
-  // set the default language code to it.\r
-  //\r
-  if ((Lang == NULL) || !IsLangInSupportedLangCodes (SupportedLang, Lang, Iso639Language)) {\r
-    //\r
-    // The default language code should be one of the supported language codes.\r
-    //\r
-    ASSERT (IsLangInSupportedLangCodes (SupportedLang, DefaultLang, Iso639Language));\r
-    BdsDxeSetVariableAndReportStatusCodeOnError (\r
-                    LangName,\r
-                    &gEfiGlobalVariableGuid,\r
-                    EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
-                    AsciiStrSize (DefaultLang),\r
-                    DefaultLang\r
-                    );\r
-  }\r
-\r
-  if (Lang != NULL) {\r
-    FreePool (Lang);\r
-  }\r
-}\r
-\r
-/**\r
-  Determine the current language that will be used\r
-  based on language related EFI Variables.\r
-\r
-  @param LangCodesSettingRequired - If required to set LangCodes variable\r
-\r
-**/\r
-VOID\r
-InitializeLanguage (\r
-  BOOLEAN LangCodesSettingRequired\r
-  )\r
-{\r
-  EFI_STATUS  Status;\r
-  CHAR8       *LangCodes;\r
-  CHAR8       *PlatformLangCodes;\r
-\r
-  ExportFonts ();\r
-\r
-  LangCodes = (CHAR8 *)PcdGetPtr (PcdUefiVariableDefaultLangCodes);\r
-  PlatformLangCodes = (CHAR8 *)PcdGetPtr (PcdUefiVariableDefaultPlatformLangCodes);\r
-  if (LangCodesSettingRequired) {\r
-    if (!FeaturePcdGet (PcdUefiVariableDefaultLangDeprecate)) {\r
-      //\r
-      // UEFI 2.0 depricated this variable so we support turning it off\r
-      //\r
-      Status = gRT->SetVariable (\r
-                      L"LangCodes",\r
-                      &gEfiGlobalVariableGuid,\r
-                      EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
-                      AsciiStrSize (LangCodes),\r
-                      LangCodes\r
-                      );\r
-      //\r
-      // Platform needs to make sure setting volatile variable before calling 3rd party code shouldn't fail.\r
-      //\r
-      ASSERT_EFI_ERROR (Status);\r
-    }\r
-\r
-    Status = gRT->SetVariable (\r
-                    L"PlatformLangCodes",\r
-                    &gEfiGlobalVariableGuid,\r
-                    EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
-                    AsciiStrSize (PlatformLangCodes),\r
-                    PlatformLangCodes\r
-                    );\r
-    //\r
-    // Platform needs to make sure setting volatile variable before calling 3rd party code shouldn't fail.\r
-    //\r
-    ASSERT_EFI_ERROR (Status);\r
-  }\r
-\r
-  if (!FeaturePcdGet (PcdUefiVariableDefaultLangDeprecate)) {\r
-    //\r
-    // UEFI 2.0 depricated this variable so we support turning it off\r
-    //\r
-    InitializeLangVariable (L"Lang", LangCodes, (CHAR8 *) PcdGetPtr (PcdUefiVariableDefaultLang), TRUE);\r
-  }\r
-  InitializeLangVariable (L"PlatformLang", PlatformLangCodes, (CHAR8 *) PcdGetPtr (PcdUefiVariableDefaultPlatformLang), FALSE);\r
-}\r