- From: MURATA Makoto <eb2m-mrt@asahi-net.or.jp>
- Date: Sun, 16 Apr 2023 11:18:31 +0900
- To: Nat McCully <nmccully@adobe.com>
- Cc: Taro Yamamoto <tyamamot@adobe.com>, Shinyu MURAKAMI <murakami@vivliostyle.org>, Koji Ishii <kojii@chromium.org>, 木田泰夫 <kida@mac.com>, 敏 小林 <binn@k.email.ne.jp>, JLReq TF 日本語 <public-i18n-japanese@w3.org>
- Message-ID: <CALvn5ECoPC4MENHV9fi9snrcEtdSZx1a8Haa3VhTGKiAJnQ1WA@mail.gmail.com>
I forgot to say one thing. John Stuart Mill argued that "The only purpose for which power can be rightfully exercised over any member of a civilized community, against his will, is to prevent harm to others." As a standardization expert, I would like to point out that the same applies to standardization. For example, OFF does not have to prevent ugly fonts. Regards, Makoto 2023年4月16日(日) 11:15 MURATA Makoto <eb2m-mrt@asahi-net.or.jp>: > Nat, > > Do you agree on my (3), shown below? > > (3) When a font specifies the 'kern' > feature as well as the 'palt' feature for > a given glyph, the abstract font engine > shall not use the 'kern' feature for > rendering this glyph without using the > 'palt' feature as well. > > Regards, > Makoto > > 2023年4月16日(日) 10:31 Nat McCully <nmccully@adobe.com>: > >> Answers inline (on my phone anyway) >> >> —Nat >> ------------------------------ >> *From:* Taro Yamamoto <tyamamot@adobe.com> >> *Sent:* Saturday, April 15, 2023 8:09 PM >> *To:* Nat McCully <nmccully@adobe.com>; Shinyu MURAKAMI < >> murakami@vivliostyle.org>; Makoto MURATA <eb2m-mrt@asahi-net.or.jp> >> *Cc:* Koji Ishii <kojii@chromium.org>; 木田泰夫 <kida@mac.com>; 敏 小林 < >> binn@k.email.ne.jp>; JLReq TF 日本語 <public-i18n-japanese@w3.org> >> *Subject:* RE: CJKフォントのpalt(詰め組)とkernの関係 >> >> >> Nat, >> >> >> >> Thank you for your response, but your descriptions seemed to be a bit >> vague and incomplete. >> >> Does the following scheme that I made based on what you wrote matches >> your idea? >> >> >> *Given condition:* The user wants to apply pair-kerning to a text. >> >> *[BTW, I think it’s risky to automatically kern Japanese characters by >> default, even if the font used has both the ‘palt’ and ‘kern’ information >> sufficiently.]* >> >> >> >> *Nat: I agree. My description is not for any default behavior. It is >> intended for when the user chooses to turn kerning on for the text. For cjk >> the default should be "only kern Latin". * >> >> >> *On the font side:* >> >> If ‘palt’ information exists: >> >> Then: >> >> The ‘palt’ information is applied to the text, so that the text becomes >> pseudo-proportional. >> >> * It is assumed that the font is a Japanese font.* >> >> If ‘kern’ information exists: >> >> Then: >> >> The ‘kern’ information is applied, and the text is correctly set kerned. >> >> Else: >> >> The text is set pseudo-proportionally with the ‘palt’ information. >> But, because of the lack of the ‘kern’ information, kerning is not >> applied. >> >> Else: >> >> If ‘kern’ information exists: >> >> Then: >> >> The ‘kern’ information is applied, and the text is correctly set kerned. >> >> * It is assumed that the font is a >> Latin proportional font or a Japanese true-proportional font.* >> >> Else: >> >> Neither the ‘palt’ nor the ‘kern’ information is available in the font. >> No alternative metrics and pair-kerning adjustments are made to the >> characters. >> >> * Any kind of fonts can reach this >> point unless alternative metrics and/or pair-kerning are/is supported.* >> >> >> >> *Nat: the above seems correct to me. * >> >> >> >> *Recommendation to the font maker:* >> >> * Font makers should set kerning pair values based on >> proportional widths not monospaced widths. Japanese fonts including >> monospaced characters to which alternative proportional metrics or >> pair-kerning may be applied optionally with the user’s explicit instruction >> must have alternative metrics data for the ‘palt’ feature, and if >> pair-kerning also may be applied, such fonts must have pair-kerning data >> for the ‘kern’ feature.* >> >> >> >> *Nat: this is the key understanding all font makers should have about how >> much kern they set on pairs of Kana etc that are normally monospaced by >> default. I hope they understand the engines assume kern pair amounts are >> deltas off the proportional widths not the monospaced widths. The engines >> first apply palt so the kern amounts set in the kern pairs of Kana etc are >> correct. * >> >> >> *On the text engine side:* >> >> It applies the ‘palt’ feature. >> >> If ‘palt’ information does NOT exist in the font: >> >> Then: >> >> The ‘palt’ feature applied does not work. >> >> (Okay, it’s not surprising . . . this font seems >> to be a proportional font.) >> >> Else: >> >> The ‘palt’ feature applied works. >> >> (Hmm . . . this font seems to be a Japanese font. >> Now, the characters become proportional!) >> >> >> >> It applies the ‘kern’ feature. >> >> If ‘kern’ information does NOT exist in the font: >> >> Then: >> >> The ‘kern’ feature applied does not work. >> >> (Unfortunately, I have to give up kerning. . . .) >> >> Else: >> >> The ‘kern’ feature applied works. >> >> (Done!) >> >> >> *Nat: the above seems correct to me. * >> >> >> *Recommendation to the text engine maker:* >> >> *Engines must apply proportional widths and kerning pairs no matter what >> font is applied.* >> >> >> >> *Nat: to be clear, this is in the case of auto kern everything and not >> the default behavior for cjk. * >> >> >> *Question 1:* >> >> I just want to confirm one point here. So, if *kerning* is applied to a >> text by using a Japanese font with ‘palt’ but without ‘kern’ information, >> only ‘palt’ is applied, and the affected characters become proportional. *I >> think this is reasonable*, but is this understanding correct >> >> >> *Nat: in Adobe apps "auto" or "metrics" kern means apply both palt and >> kern. "Latin-only kern" mode means apply palt and kern only to non-CJK >> (non-SJIS 由来の全角). With those features applied we ask the font engine for >> glyphs and positions. If the font lacks one of those features it is >> ignored. * >> >> >> >> *Question 2:* >> All the assumptions and recommendations written above in* >> blue italicized lines *can be just *informative* for the standard, and >> also some of them are just what we are usually expecting or assuming, but >> all these are fine as they themselves are. But in this discussion, *the >> latest question is whether the following points written by Mr. Murakami >> based on Mr. Murata’s previous explanations are all reasonable or not.* >> What do you think? >> >> Mr. Murakami wrote: >> >> 個々のグリフごとに、 >> >> ・そのグリフにpaltがない場合、kernを有効にする >> >> ・そのグリフにpaltがある場合、paltを有効にしないかぎりkernを有効にしない >> >> なるほどこれであれば、CJK全角かどうかの判定は要りません。 >> >> >> >> これをブラウザに実装するのは難しいでしょうか? >> >> >> *Nat: we generally do not check the font for the presence of a feature to >> make decisions about other features. So, the engine will apply palt if the >> user chooses "proportional widths". If the user chooses a kerning mode, the >> engine applies palt and kern both. Engines that do not apply palt whenever >> they apply kern are not correct according to the standard and to our >> understanding of kern amounts set in the kern feature for cjk glyph pairs. * >> >> >> >> Regards, >> >> >> >> --Taro >> >> 山本 >> >> アドビ >> >> >> >> Normally the font determines the behavior and the text engine applies >> features according to text attributes or controls set by the user. >> >> >> >> User: I want all text kerned. Turn on Auto Kerning >> >> Engine: Auto Kerning UI results in turning on palt and kern (vpal and >> vkrn in vertical), so any font in the selection will be proportional and >> also kerned. >> >> Layout step: Font is queried for glyphs, positions according to having >> palt and kern selected. >> >> >> >> So, the advice for font makers is different from the advice for engine >> developers. Engines must apply proportional widths and kerning pairs no >> matter what font is applied. Font makers must set kerning pair values based >> on proportional widths not monospaced widths. If the font is already >> proportional there is no palt feature present so the palt set by the engine >> is ignored. But if the user switches fonts the palt feature is applied and >> the text will kern correctly. >> >> >> >> —Nat >> >> >> > > > -- > Regards, > Makoto > -- Regards, Makoto
Received on Sunday, 16 April 2023 02:19:15 UTC