MicrosoftDocs / typography-issues

Creative Commons Attribution 4.0 International
47 stars 21 forks source link

Thai and Latin Script in Windows Thai Fonts are not the Same Height #1116

Closed Cheese-n-Stick closed 9 months ago

Cheese-n-Stick commented 9 months ago

Windows operating system provides a user with 14 Thai font families. These fonts contain both Thai script and Latin script. Take Angsana New as an example.

Latin x-height is lower than Thai ก-height (Ko Kai), and ก-height is the same as Latin cap height.

รูปภาพ1

Arabic numerals also have a problem when switching keyboard input languages. The numbers appear at ก-height when pressing numeral keys while on Thai, but at x-height while on English input.

รูปภาพ2

Moreover, a space appears wider when pressing the spacebar on English input and applying Thai distribution alignment in Microsoft Word.

รูปภาพ3

Therefore, could we adjust the Latin x-height to match the Thai ก-height?

รูปภาพ4

Usually, when we fix these problems temporarily, we set the Latin script to 12 pt Times New Roman and the complex script to 16 pt Angsana New in the word processing program, together with changing language input when typing numbers and spaces. Unfortunately, besides Angsana New, no Thai fonts have Latin fonts to pair with. This practice has caused difficulty and bothersome for 23 years. Even though TH SarabunPSK, a new font created for official correspondence that resolves all the problems, has become the accepted standard font for academic use and the government sector, many institutions and publishing houses still require the author to follow their traditional style guide.

This update will benefit to students who use Angsana New in school or college reports, writers who use Cordia New in novels, researchers who use Browallia New in research papers, and Thai people.

tiroj commented 9 months ago

The relative height of different scripts is always conventional, usually informed by practices dating back to the printing of grammars and other bilingual texts in metal type. Sometimes these conventions differ between countries, between publishers, or even individual preference.

The common conventional relationship between Thai and Latin, inherited from metal typesetting, is for the ก-height to be between the Latin cap- and x-height, as it is in Angsana New and numerous other fonts. Ideally, in combined fonts, the height of lining numerals are reduced slightly to match the ก-height, so that they work well for both scripts (‘three-quarter height’ numerals, between cap- and x-height are a tradition in some Latin typography, so are acceptable for English and other Latin script text as well as aligning nicely with the Thai).

This is how the numerals are aligned in the Adobe Thai fonts, for example:

image
Cheese-n-Stick commented 9 months ago

Thank you for your response. I still have some questions.

From your screenshot of Adobe Thai, numerals and Thai glyphs align with the Latin x-height, and the Latin cap height aligns with the Thai ascender height. These characteristics are shared among new Thai fonts but not in Windows fonts, which date back to the conventional typesetting period.

adobe thai

Numerals in Windows fonts typed with the identical point size, e.g., Angsana New, Browallia New, and Cordia New, do not appear the same height when switching keyboard languages. We usually type numbers using a numeric keypad on a bilingual keyboard to avoid switching between Thai and English, which produces different heights for different language inputs. Is it a software problem?

Windows Thai fonts

This results in document inconsistency and reduced legibility. Moreover, we can see the difference distinctly when combining multiple fonts in a document. Latin glyphs in Windows fonts appear smaller compared to other new Thai fonts, especially Latin fonts. Should we standardize Windows fonts to be compatible with modern Thai and Latin fonts?

multiple fonts

tiroj commented 9 months ago

From your screenshot of Adobe Thai, numerals and Thai glyphs align with the Latin x-height

Not quite: the Thai ก-height is slightly taller than the Latin x-height.

I agree with you that the Thai glyphs in the Windows fonts are a bit too large relative to the Latin caps and hence the stacked marks are too high. I think what happened in the development of those fonts was that the Thai and Latin glyphs originated in separate typefaces, which were then merged without scaling, or with scaling based only on comparable weight, rather than proportions.

In the development of Adobe Thai, we had access to interpolable sources of the Minion typeface used for the Latin subset, so could scale proportion and weight independently to make a balanced companion to the new Thai design.

alib-ms commented 9 months ago

Expressing gratitude to Cheese-n-Stick for the feedback and to tiroj for the invaluable reply.

Additionally, it's important to note that many Thai fonts, such as Angsana, Angsana New, Browallia, and Browallia New, were incorporated into Windows in the 90s. To ensure backward compatibility and document fidelity, there are significant constraints on the changes we can make, and altering metrics is not among them.