Fallback fonts in Word to PDF Conversion

18 Dec 202524 minutes to read

During Word to PDF conversions, if a glyph of the input text is unavailable in the specified font, the text will not be rendered properly. To address this, the Syncfusion® Word (DocIO) library allows users to specify fallback fonts. When a glyph is missing, the library will use one of the fallback fonts to render the text correctly in the output PDF document.

Users can configure fallback fonts in the following ways:

  • Initialize default fallback fonts.
  • Set custom fonts as fallback fonts for specific script types, including Arabic, Hebrew, Chinese, Japanese, and more.
  • Set custom fonts as fallback fonts for a particular range of Unicode text.

NOTE

DocIO internally uses user-initialized or specified fallback fonts for Unicode characters during Word to PDF conversion. Therefore, the specified fallback fonts must be installed in the production environment or embedded in the input Word document (DOCX). Otherwise, it will not render the text properly using the fallback fonts.

Initialize default fallback fonts

The following code example demonstrates how to initialize a default fallback fonts while converting a Word document to PDF. The InitializeDefault API sets the default fallback fonts for specific script types like Arabic, Hebrew, Chinese, Japanese etc.

//Opens the file as stream.
using (FileStream inputStream = new FileStream("Template.docx", FileMode.Open, FileAccess.Read))
{
   //Loads an existing Word document file stream.
   using (WordDocument wordDocument = new WordDocument(inputStream, Syncfusion.DocIO.FormatType.Docx))
   {
      //Initialize the default fallback fonts collection.
      wordDocument.FontSettings.FallbackFonts.InitializeDefault();
      //Instantiation of DocIORenderer for Word to PDF conversion.
      using (DocIORenderer render = new DocIORenderer())
      {
         //Converts Word document into PDF document.
         using (PdfDocument pdfDocument = render.ConvertToPDF(wordDocument))
         {
            //Saves the PDF file to file system.
            using (FileStream outputStream = new FileStream("WordToPDF.pdf", FileMode.OpenOrCreate, FileAccess.ReadWrite))
            {
               pdfDocument.Save(outputStream);
            }
         }
      }
   }
}
//Loads an existing Word document.
using (WordDocument wordDocument = new WordDocument("Template.docx", Syncfusion.DocIO.FormatType.Docx))
{
   //Initialize the default fallback fonts collection.
   wordDocument.FontSettings.FallbackFonts.InitializeDefault();
   //Instantiation of DocToPDFConverter for Word to PDF conversion.
   using (DocToPDFConverter converter = new DocToPDFConverter())
   {
      //Converts Word document into PDF document.
      using (PdfDocument pdfDocument = converter.ConvertToPDF(wordDocument))
      {
         //Saves the PDF file to file system.
         pdfDocument.Save("WordToPDF.pdf");
      }
   }
}
'Loads an existing Word document.
Using wordDocument As WordDocument = New WordDocument("Template.docx", FormatType.Docx)
    'Initialize the default fallback fonts collection.
    wordDocument.FontSettings.FallbackFonts.InitializeDefault()
    'Instantiation of DocToPDFConverter for Word to PDF conversion.
    Using converter As New DocToPDFConverter()
        'Converts Word document into PDF document.
        Using pdfDocument As PdfDocument = converter.ConvertToPDF(wordDocument)
            'Saves the PDF file to file system.
            pdfDocument.Save("WordToPDF.pdf")
        End Using
    End Using
End Using

You can download a complete working sample from GitHub.

Fallback fonts based on script type

The following code example demonstrates how a user can add fallback fonts based on the script types, which DocIO considers internally when converting a Word document to PDF.

//Opens the file as stream.
using (FileStream inputStream = new FileStream("Template.docx", FileMode.Open, FileAccess.Read))
{
   //Loads an existing Word document file stream.
   using (WordDocument wordDocument = new WordDocument(inputStream, Syncfusion.DocIO.FormatType.Docx))
   {
      //Adds fallback font for "Arabic" script type.
      wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Arabic, "Arial, Times New Roman");
      //Adds fallback font for "Hebrew" script type.
      wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Hebrew, "Arial, Courier New");
      //Adds fallback font for "Hindi" script type.
      wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Hindi, "Mangal, Nirmala UI");
      //Adds fallback font for "Chinese" script type.
      wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Chinese, "DengXian, MingLiU");
      //Adds fallback font for "Japanese" script type.
      wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Japanese, "Yu Mincho, MS Mincho");
      //Adds fallback font for "Thai" script type.
      wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Thai, "Tahoma, Microsoft Sans Serif");
      //Adds fallback font for "Korean" script type.
      wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Korean, "Malgun Gothic, Batang");
      //Instantiation of DocIORenderer for Word to PDF conversion.
      using (DocIORenderer render = new DocIORenderer())
      {
         //Converts Word document into PDF document.
         using (PdfDocument pdfDocument = render.ConvertToPDF(wordDocument))
         {
            //Saves the PDF file to file system.
            using (FileStream outputStream = new FileStream("WordToPDF.pdf", FileMode.OpenOrCreate, FileAccess.ReadWrite))
            {
               pdfDocument.Save(outputStream);
            }
         }
      }
   }
}
//Loads an existing Word document.
using (WordDocument wordDocument = new WordDocument("Template.docx", Syncfusion.DocIO.FormatType.Docx))
{
   //Adds fallback font for "Arabic" script type.
   wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Arabic, "Arial, Times New Roman");
   //Adds fallback font for "Hebrew" script type.
   wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Hebrew, "Arial, Courier New");
   //Adds fallback font for "Hindi" script type.
   wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Hindi, "Mangal, Nirmala UI");
   //Adds fallback font for "Chinese" script type.
   wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Chinese, "DengXian, MingLiU");
   //Adds fallback font for "Japanese" script type.
   wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Japanese, "Yu Mincho, MS Mincho");
   //Adds fallback font for "Thai" script type.
   wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Thai, "Tahoma, Microsoft Sans Serif");
   //Adds fallback font for "Korean" script type.
   wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Korean, "Malgun Gothic, Batang");
   //Instantiation of DocToPDFConverter for Word to PDF conversion.
   using (DocToPDFConverter converter = new DocToPDFConverter())
   {
      //Converts Word document into PDF document.
      using (PdfDocument pdfDocument = converter.ConvertToPDF(wordDocument))
      {
         //Saves the PDF file to file system.
         pdfDocument.Save("WordToPDF.pdf");
      }
   }
}
'Loads an existing Word document.
Using wordDocument As WordDocument = New WordDocument("Template.docx", FormatType.Docx)
    'Adds fallback font for "Arabic" script type.
    wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Arabic, "Arial, Times New Roman")
    'Adds fallback font for "Hebrew" script type.
    wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Hebrew, "Arial, Courier New")
    'Adds fallback font for "Hindi" script type.
    wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Hindi, "Mangal, Nirmala UI")
    'Adds fallback font for "Chinese" script type.
    wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Chinese, "DengXian, MingLiU")
    'Adds fallback font for "Japanese" script type.
    wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Japanese, "Yu Mincho, MS Mincho")
    'Adds fallback font for "Thai" script type.
    wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Thai, "Tahoma, Microsoft Sans Serif")
    'Adds fallback font for "Korean" script type.
    wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Korean, "Malgun Gothic, Batang")
    'Instantiation of DocToPDFConverter for Word to PDF conversion.
    Using converter As New DocToPDFConverter()
        'Converts Word document into PDF document.
        Using pdfDocument As PdfDocument = converter.ConvertToPDF(wordDocument)
            'Saves the PDF file to file system.
            pdfDocument.Save("WordToPDF.pdf")
        End Using
    End Using
End Using

You can download a complete working sample from GitHub.

Fallback fonts for symbols

The following code example demonstrates how a user can add fallback fonts for Symbols and Emojis, which DocIO considers internally when converting a Word document to PDF.

//Opens the file as stream.
using (FileStream inputStream = new FileStream("Template.docx", FileMode.Open, FileAccess.Read))
{
    //Loads an existing Word document file stream.
    using (WordDocument wordDocument = new WordDocument(inputStream, Syncfusion.DocIO.FormatType.Docx))
    {
        //Adds fallback font for basic symbols like bullet characters.
        wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Symbols, "Segoe UI Symbol, Arial Unicode MS, Wingdings");
        //Adds fallback font for mathematics symbols.
        wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Mathematics, "Cambria Math, Noto Sans Math, Segoe UI Symbol, Arial Unicode MS");
        //Adds fallback font for emojis.
        wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Emoji, "Segoe UI Emoji, Noto Color Emoji, Arial Unicode MS");        
        //Instantiation of DocIORenderer for Word to PDF conversion.
        using (DocIORenderer render = new DocIORenderer())
        {
            //Converts Word document into PDF document.
            using (PdfDocument pdfDocument = render.ConvertToPDF(wordDocument))
            {
                //Saves the PDF file to file system.
                using (FileStream outputStream = new FileStream("WordToPDF.pdf", FileMode.OpenOrCreate, FileAccess.ReadWrite))
                {
                    pdfDocument.Save(outputStream);
                }
            }
        }
    }
}
//Loads an existing Word document.
using (WordDocument wordDocument = new WordDocument("Template.docx", Syncfusion.DocIO.FormatType.Docx))
{
   //Adds fallback font for basic symbols like bullet characters.
   wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Symbols, "Segoe UI Symbol, Arial Unicode MS, Wingdings");
   //Adds fallback font for mathematics symbols.
   wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Mathematics, "Cambria Math, Noto Sans Math, Segoe UI Symbol, Arial Unicode MS");
   //Adds fallback font for emojis.
   wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Emoji, "Segoe UI Emoji, Noto Color Emoji, Arial Unicode MS");     
   //Instantiation of DocToPDFConverter for Word to PDF conversion.
   using (DocToPDFConverter converter = new DocToPDFConverter())
   {
      //Converts Word document into PDF document.
      using (PdfDocument pdfDocument = converter.ConvertToPDF(wordDocument))
      {
         //Saves the PDF file to file system.
         pdfDocument.Save("WordToPDF.pdf");
      }
   }
}
'Loads an existing Word document.
Using wordDocument As WordDocument = New WordDocument("Template.docx", FormatType.Docx)
    'Adds fallback font for basic symbols Like bullet characters.
    wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Symbols, "Segoe UI Symbol, Arial Unicode MS, Wingdings")
    'Adds fallback font for mathematics symbols.
    wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Mathematics, "Cambria Math, Noto Sans Math, Segoe UI Symbol, Arial Unicode MS")
    'Adds fallback font for emojis.
    wordDocument.FontSettings.FallbackFonts.Add(ScriptType.Emoji, "Segoe UI Emoji, Noto Color Emoji, Arial Unicode MS")
    'Instantiation of DocToPDFConverter for Word to PDF conversion.
    Using converter As New DocToPDFConverter()
        'Converts Word document into PDF document.
        Using pdfDocument As PdfDocument = converter.ConvertToPDF(wordDocument)
            'Saves the PDF file to file system.
            pdfDocument.Save("WordToPDF.pdf")
        End Using
    End Using
End Using

You can download a complete working sample from GitHub

Fallback fonts for range of Unicode text

Users can set fallback fonts for specific Unicode range of text to be used in Word to PDF conversion.

The following code example demonstrates how users can add fallback fonts by using a specific Unicode range of text that DocIO considers internally while converting a Word document to PDF.

//Opens the file as stream.
using (FileStream inputStream = new FileStream("Template.docx", FileMode.Open, FileAccess.Read))
{
   //Loads an existing Word document file stream.
   using (WordDocument wordDocument = new WordDocument(inputStream, Syncfusion.DocIO.FormatType.Docx))
   {
      //Adds fallback font for "Arabic" specific unicode range.
      wordDocument.FontSettings.FallbackFonts.Add(new FallbackFont(0x0600, 0x06ff, "Arial"));
      //Adds fallback font for "Hebrew" specific unicode range.
      wordDocument.FontSettings.FallbackFonts.Add(new FallbackFont(0x0590, 0x05ff, "Times New Roman"));
      //Adds fallback font for "Hindi" specific unicode range.
      wordDocument.FontSettings.FallbackFonts.Add(new FallbackFont(0x0900, 0x097F, "Nirmala UI"));
      //Adds fallback font for "Chinese" specific unicode range.
      wordDocument.FontSettings.FallbackFonts.Add(new FallbackFont(0x4E00, 0x9FFF, "DengXian"));
      //Adds fallback font for "Japanese" specific unicode range.
      wordDocument.FontSettings.FallbackFonts.Add(new FallbackFont(0x3040, 0x309F, "MS Gothic"));
      //Adds fallback font for "Thai" specific unicode range.
      wordDocument.FontSettings.FallbackFonts.Add(new FallbackFont(0x0E00, 0x0E7F, "Tahoma"));
      //Adds fallback font for "Korean" specific unicode range.
      wordDocument.FontSettings.FallbackFonts.Add(new FallbackFont(0xAC00, 0xD7A3, "Malgun Gothic"));
      //Instantiation of DocIORenderer for Word to PDF conversion.
      using (DocIORenderer render = new DocIORenderer())
      {
         //Converts Word document into PDF document.
         using (PdfDocument pdfDocument = render.ConvertToPDF(wordDocument))
         {
            //Saves the PDF file to file system.
            using (FileStream outputStream = new FileStream("WordToPDF.pdf", FileMode.OpenOrCreate, FileAccess.ReadWrite))
            {
               pdfDocument.Save(outputStream);
            }
         }
      }
   }
}
//Loads an existing Word document.
using (WordDocument wordDocument = new WordDocument("Template.docx", Syncfusion.DocIO.FormatType.Docx))
{
   //Adds fallback font for "Arabic" specific unicode range.
   wordDocument.FontSettings.FallbackFonts.Add(new FallbackFont(0x0600, 0x06ff, "Arial"));
   //Adds fallback font for "Hebrew" specific unicode range.
   wordDocument.FontSettings.FallbackFonts.Add(new FallbackFont(0x0590, 0x05ff, "Times New Roman"));
   //Adds fallback font for "Hindi" specific unicode range.
   wordDocument.FontSettings.FallbackFonts.Add(new FallbackFont(0x0900, 0x097F, "Nirmala UI"));
   //Adds fallback font for "Chinese" specific unicode range.
   wordDocument.FontSettings.FallbackFonts.Add(new FallbackFont(0x4E00, 0x9FFF, "DengXian"));
   //Adds fallback font for "Japanese" specific unicode range.
   wordDocument.FontSettings.FallbackFonts.Add(new FallbackFont(0x3040, 0x309F, "MS Gothic"));
   //Adds fallback font for "Thai" specific unicode range.
   wordDocument.FontSettings.FallbackFonts.Add(new FallbackFont(0x0E00, 0x0E7F, "Tahoma"));
   //Adds fallback font for "Korean" specific unicode range.
   wordDocument.FontSettings.FallbackFonts.Add(new FallbackFont(0xAC00, 0xD7A3, "Malgun Gothic"));
   //Instantiation of DocToPDFConverter for Word to PDF conversion.
   using (DocToPDFConverter converter = new DocToPDFConverter())
   {
      //Converts Word document into PDF document.
      using (PdfDocument pdfDocument = converter.ConvertToPDF(wordDocument))
      {
         //Saves the PDF file to file system.
         pdfDocument.Save("WordToPDF.pdf");
      }
   }
}
'Loads an existing Word document.
Using wordDocument As WordDocument = New WordDocument("Template.docx", FormatType.Docx)
    'Adds fallback font for "Arabic" specific unicode range.
    wordDocument.FontSettings.FallbackFonts.Add(New FallbackFont(0x0600, 0x06ff, "Arial"))
    'Adds fallback font for "Hebrew" specific unicode range.
    wordDocument.FontSettings.FallbackFonts.Add(New FallbackFont(0x0590, 0x05ff, "Times New Roman"))
    'Adds fallback font for "Hindi" specific unicode range.
    wordDocument.FontSettings.FallbackFonts.Add(New FallbackFont(0x0900, 0x097F, "Nirmala UI"))
    'Adds fallback font for "Chinese" specific unicode range.
    wordDocument.FontSettings.FallbackFonts.Add(New FallbackFont(0x4E00, 0x9FFF, "DengXian"))
    'Adds fallback font for "Japanese" specific unicode range.
    wordDocument.FontSettings.FallbackFonts.Add(New FallbackFont(0x3040, 0x309F, "MS Gothic"))
    'Adds fallback font for "Thai" specific unicode range.
    wordDocument.FontSettings.FallbackFonts.Add(New FallbackFont(0x0E00, 0x0E7F, "Tahoma"))
    'Adds fallback font for "Korean" specific unicode range.
    wordDocument.FontSettings.FallbackFonts.Add(New FallbackFont(0xAC00, 0xD7A3, "Malgun Gothic"))
    'Instantiation of DocToPDFConverter for Word to PDF conversion.
    Using converter As New DocToPDFConverter()
        'Converts Word document into PDF document.
        Using pdfDocument As PdfDocument = converter.ConvertToPDF(wordDocument)
            'Saves the PDF file to file system.
            pdfDocument.Save("WordToPDF.pdf")
        End Using
    End Using
End Using

You can download a complete working sample from GitHub.

Modify the exiting fallback fonts

The following code example demonstrates how user can modify or customize the existing fallback fonts using FontNames API while converting a Word document to PDF.

//Opens the file as stream.
using (FileStream inputStream = new FileStream("Template.docx", FileMode.Open, FileAccess.Read))
{
   //Loads an existing Word document file stream.
   using (WordDocument wordDocument = new WordDocument(inputStream, Syncfusion.DocIO.FormatType.Docx))
   {
      //Initialize the default fallback fonts collection.
      wordDocument.FontSettings.FallbackFonts.InitializeDefault();
      FallbackFonts fallbackFonts = wordDocument.FontSettings.FallbackFonts;
      foreach (FallbackFont fallbackFont in fallbackFonts) 
      {
         //Customize a default fallback font name as "David" for the Hebrew script.
         if (fallbackFont.ScriptType == ScriptType.Hebrew)
            fallbackFont.FontNames = "David";
         //Customize a default fallback font name as "Microsoft Sans Serif" for the Thai script.
         else if (fallbackFont.ScriptType == ScriptType.Thai)
            fallbackFont.FontNames = "Microsoft Sans Serif";
      }
      //Instantiation of DocIORenderer for Word to PDF conversion.
      using (DocIORenderer render = new DocIORenderer())
      {
         //Converts Word document into PDF document.
         using (PdfDocument pdfDocument = render.ConvertToPDF(wordDocument))
         {
            //Saves the PDF file to file system.
            using (FileStream outputStream = new FileStream("WordToPDF.pdf", FileMode.OpenOrCreate, FileAccess.ReadWrite))
            {
               pdfDocument.Save(outputStream);
            }
         }
      }
   }
}
//Loads an existing Word document.
using (WordDocument wordDocument = new WordDocument("Template.docx", Syncfusion.DocIO.FormatType.Docx))
{
   //Initialize the default fallback fonts collection.
   wordDocument.FontSettings.FallbackFonts.InitializeDefault();
   FallbackFonts fallbackFonts = wordDocument.FontSettings.FallbackFonts;
   foreach (FallbackFont fallbackFont in fallbackFonts) 
   {
      //Customize a default fallback font name as "David" for the Hebrew script.
      if (fallbackFont.ScriptType == ScriptType.Hebrew)
         fallbackFont.FontNames = "David";
      //Customize a default fallback font name as "Microsoft Sans Serif" for the Thai script.
      else if (fallbackFont.ScriptType == ScriptType.Thai)
         fallbackFont.FontNames = "Microsoft Sans Serif";
   }
   //Instantiation of DocToPDFConverter for Word to PDF conversion.
   using (DocToPDFConverter converter = new DocToPDFConverter())
   {
      //Converts Word document into PDF document.
      using (PdfDocument pdfDocument = converter.ConvertToPDF(wordDocument))
      {
         //Saves the PDF file to file system.
         pdfDocument.Save("WordToPDF.pdf");
      }
   }
}
'Loads an existing Word document.
Using wordDocument As WordDocument = New WordDocument("Template.docx", FormatType.Docx)
    'Initialize the default fallback fonts collection.
    wordDocument.FontSettings.FallbackFonts.InitializeDefault()
    Dim fallbackFonts As FallbackFonts = wordDocument.FontSettings.FallbackFonts
    For Each fallbackFont As FallbackFont In fallbackFonts
      'Customize a default fallback font name as "David" for the Hebrew script.
      If fallbackFont.ScriptType = ScriptType.Hebrew Then
         fallbackFont.FontNames = "David"
      'Customize a default fallback font name as "Microsoft Sans Serif" for the Thai script.
      ElseIf fallbackFont.ScriptType = ScriptType.Thai Then
         fallbackFont.FontNames = "Microsoft Sans Serif"
      End If
    Next
    'Instantiation of DocToPDFConverter for Word to PDF conversion.
    Using converter As New DocToPDFConverter()
        'Converts Word document into PDF document.
        Using pdfDocument As PdfDocument = converter.ConvertToPDF(wordDocument)
            'Saves the PDF file to file system.
            pdfDocument.Save("WordToPDF.pdf")
        End Using
    End Using
End Using

You can download a complete working sample from GitHub.

Supported script types

The following table illustrates the supported script types by the .NET Word library (DocIO) in Word to PDF conversion.

Script types Ranges Default fallback fonts considered in InitializeDefault() API
Arabic 0x0600 - 0x06ff
0x0750 - 0x077f
0x08a0 - 0x08ff
0xfb50 - 0xfdff
0xfe70 - 0xfeff
Arial, Times New Roman, Microsoft Uighur
Hebrew 0x0590 - 0x05ff
0xfb1d - 0xfb4f
Arial, Times New Roman, David
Hindi 0x0900 - 0x097F
0xa8e0 - 0xa8ff
0x1cd0 - 0x1cff
Mangal, Utsaah
Chinese 0x4E00 - 0x9FFF
0x3400 - 0x4DBF
0xd840 - 0xd869
0xdc00 - 0xdedf
0xA960 - 0xA97F
0xFF00 - 0xFFEF
0x3000 - 0x303F
DengXian, MingLiU, MS Gothic
Japanese 0x30A0 - 0x30FF
0x3040 - 0x309F
Yu Mincho, MS Mincho
Thai 0x0E00 - 0x0E7F Tahoma, Microsoft Sans Serif
Korean 0xAC00 - 0xD7A3
0x1100 - 0x11FF
0x3130 - 0x318F
0xA960 - 0xA97F
0xD7B0 - 0xD7FF
0xAC00 - 0xD7AF
Malgun Gothic, Batang
Tamil 0x0B80 - 0x0BFF Latha, Nirmala UI, Arial Unicode MS
Bengali 0x0980 - 0x09FF Vrinda, Arial Unicode MS, Nikosh, Siyam Rupali, Nirmala UI
Gujarati 0x0A80 - 0x0AFF Shruti, Nirmala UI, Arial Unicode MS
Telugu 0x0C00 - 0x0C7F Gautami, Nirmala UI, Arial Unicode MS
Malayalam 0x0D00 - 0x0D7F Kartika, Nirmala UI, Arial Unicode MS
Kannada 0x0C80 - 0x0CFF Tunga, Nirmala UI, Arial Unicode MS
Ethiopic 0x1200 - 0x137F
0x1380 - 0x139F
Nyala, Ebrima
Khmer 0x1780 - 0x17FF
0x19E0 - 0x19FF
MoolBoran, DaunPenh, Leelawadee, Leelawadee UI
Gurmukhi 0x0A00 - 0x0A7F Raavi, Nirmala UI, Arial Unicode MS
Canadian 0x1400 - 0x167F Euphemia, Gadugi
Cherokee 0x13A0 - 0x13FF
0xAB70 - 0xABBF
Plantagenet Cherokee, Gadugi, Arial Unicode MS
Yi 0xA000 - 0xA48F
0xA490 - 0xA4CF
Microsoft Yi Baiti, Arial Unicode MS
Tibetan 0x0F00 - 0x0FFF Microsoft Himalaya, Nirmala UI, Arial Unicode MS
Thaana 0x0780 - 0x07BF MV Boli, Nirmala UI, Arial Unicode MS
Syriac 0x0700 - 0x074F Estrangelo Edessa, Segoe UI Historic, Arial Unicode MS
Odia 0x0B00 - 0x0B7F Kalinga, Nirmala UI, Arial Unicode MS
Lao 0x0E80 - 0x0EFF DokChampa, Lao UI, Leelawadee UI, Arial Unicode MS
Sinhala 0x0D80 - 0x0DFF Iskoola Pota, Nirmala UI, Arial Unicode MS
Mongolian 0x1800 - 0x18AF Mongolian Baiti, Microsoft YaHei, Arial Unicode MS
Vietnamese 0x00C0 - 0x00FF
0x0102 - 0x0103
0x0110 - 0x0111
0x0128 - 0x0129
0x0168 - 0x0169
0x01A0 - 0x01A1
0x01AF - 0x01B0
0x0300 - 0x036F
Times New Roman, Arial, Tahoma, Arial Unicode MS
Georgian 0x10A0 - 0x10FF
0x2D00 - 0x2D2F
Sylfaen, Arial Unicode MS
Armenian 0x0530 - 0x058F
0xFB13 - 0xFB17
Arial, Sylfaen, Arial Unicode MS
Buginese 0x1A00 - 0x1A1F Leelawadee UI, Segoe UI Symbol
Bopomofo 0x3100 - 0x312F
0x31A0 - 0x31BF
Microsoft JhengHei, PMingLiU, SimSun, Arial Unicode MS
Javanese 0xA980 - 0xA9DF Javanese Text, Segoe UI Symbol
Lisu 0xA4D0 - 0xA4FF Segoe UI Symbol, Arial Unicode MS
Burmese 0x1000 - 0x109F
0xAA60 - 0xAA7F
Myanmar Text, Noto Sans Myanmar, Padauk
NKo 0x07C0 - 0x07FF Ebrima, Arial Unicode MS
OlChiki 0x1C50 - 0x1C7F Nirmala UI, Arial Unicode MS
Osmanya 0x10480 - 0x104AF Ebrima, Noto Sans Osmanya
PhagsPa 0xA840 - 0xA87F Phagspa, Microsoft PhagsPa, Noto Sans PhagsPa, Arial Unicode MS
SoraSompeng 0x110D0 - 0x110FF Nirmala UI, Arial Unicode MS
TaiLe 0x1950 - 0x197F Microsoft Tai Le, Arial Unicode MS
NewTaiLue 0x1980 - 0x19DF Microsoft New Tai Lue, Arial Unicode MS
Tifinagh 0x2D30 - 0x2D7F Ebrima, Arial Unicode MS
Symbols 0x2000 - 0x27BF
0x2300 - 0x23FF
0xF000 - 0xF104
Segoe UI Symbol, Arial Unicode MS, Wingdings
Mathematics 0x2200 - 0x2AFF
0x1D400 - 0x1D7FF
Cambria Math, Noto Sans Math, Segoe UI Symbol, Arial Unicode MS
Emoji 0x1F300 - 0x1FAFF
0xFE0F - 0xFE0F
Segoe UI Emoji, Noto Color Emoji, Arial Unicode MS