- From: Kobayashi Toshi <binn@k.email.ne.jp>
- Date: Thu, 17 Dec 2020 13:20:41 +0900
- To: Shinyu MURAKAMI <murakami@vivliostyle.org>, public-i18n-japanese@w3.org
Shinyu MURAKAMI 様 みなさま 小林 敏 です. 以下では,文字の向きの問題ではなく,字間の問題だけに限ります. 村上さんの指摘するように,自動処理が望まれるが,それが不完全な場合に字間 を詰めたいケースがでてくることはたしかにあります.その実現に,制御文字で 指示する方法として十分に考えられると思います.テキストで指示できるのは望 ましいでしょう. しかし,村上さんとは別の方法も考えれます.それには以下のように四分及び二 分のマイナススペースの制御文字があれば解決できます.実は写研のSAPCOLには (InDesignのようにカーニングやトラッキングではなく)制御文字としてマイナ ススペースがありました.中点の場合は,前後に入れないといけないので,ちょ っと面倒ではありますが…….(プラスのスペースはあるのだから,マイナスが あってもいいんではないかな,ということは前から望んでいました.) 二、{マイナス二分}三人 〇{マイナス四分}・{マイナス四分}三五一四 ご参考まで Shinyu MURAKAMI さんwrote >みなさま、 > >村上です。昨日の縦書きにおける記号の正立回転問題の 議論の次の件についてアイデ >アをまとめてみました。 > >> >> ・Unicode に正立か横組みかを指定する仕組みを作るのはどうか。bidi 制御文字の >> ように(村上)そのために variation selector を使うのはどうか(小林) > > >(以下はGitHub Gist https://gist.github.com/MurakamiShinyu/ >8a4c92eae03dd15284d28ae1f9f066c9 にも公開) > >文字幅と縦書きの文字の向きを指定する異体字セレクタ > >East Asian Typographic Variation Selectors ?目的 > >従来フォント依存あるいは処理系依存でありプレーンテキストでは指定することがで >きなかった文字幅や縦書きの文字の向きを特別な異体字セレクタにより指定できるよ >うにする。 > - 文字幅(全角、半角、プロポーショナル)を指定。UAX#11 East_Asian_Width >(EAW) プロパティに変更を加える。約物の全角・半角の指定ができる。 > - 縦書きでの文字の向きを指定。UAX#50 Vertical_Orientation Property (vo) プロ >パティに変更を加える。必要な異体字セレクタ > >文字幅の指定と縦書きでの文字の向き指定は関連するので、組み合わせを網羅する必 >要はなく、まず次の3つがあれば十分だろう: > - 全角文字扱いにする異体字セレクタ。以下 "{全}" で表す。 > - 約物など半角幅の扱いにする異体字セレクタ。以下 "{半}" で表す。 > - 欧文用文字扱いにする異体字セレクタ。以下 "{欧}" で表す。適用対象の文字種と >各異体字セレクタの効果 > > - ラテン文字、ギリシャ文字、キリル文字、数字、シンボル類、など > - {全}:全角文字、漢字等(cl-19)の扱い。EAW=Fの扱い。vo=Uの扱い。 > - {半}:半角文字、EAW=Hの扱い。vo=Rの扱い。縦中横に使える。半角幅字形がない >場合は{欧}と同じ扱い。 > - {欧}:欧文用文字(cl-27)の扱い。プロポーショナル。EAW=Naの扱い。vo=Rの扱い。 >実際の字幅は文字とフォントに依存。 > - 約物(句読点、括弧類、引用符類) > - {全}:全角約物の扱い。約物の種類により、半角約物と同等の字形で前か後ろに >半角アキ、または両側に四分アキが付いたものとなる。EAW=Fの扱い。voは変えない >(U)。 > - {半}:半角約物の扱い。全角約物に含まれる前または後ろのアキを取り除いたも >のとなる。EAW=Hの扱い。voは変えない(半角カタカナのブロックの約物はvo=Rである >ので、通常の約物に{半}を指定したものと一致しない)。半角幅に詰められない約物 >(全角ダッシュなど)には適用されない。 > - {欧}:欧文約物の扱い。プロポーショナル。EAW=Naの扱い。vo=Rの扱い。ただし、 >欧文用やプロポーショナルな字形がない場合は{半}と同じ扱い。実際の字幅は文字と >フォントに依存。使用例 > >縦組みで標準では横倒し(vo=R)の文字を正立(vo=U)にする:ギリシャ文字α{全}と >ユーロ記号€{全} > >右向き矢印→{全}を縦組みで下向き↓{全}に変えない。 > >縦組みで標準では正立(vo=U)の文字を横倒し(vo=R)にする:§{欧}3.2.1 Composition >of Japanese and Western Mixed Texts > >縦書きで横倒しにしたい‖{欧}双柱 > >クォーテーションマークの和文用と欧文用を切り替える:和文で“{全}ダブルクォー >テーションマーク”{全}を使う。 > >Let’{欧}s use “{欧}quotation marks”{欧} in English. > >読点及び中点の例外的な配置方法をプレーンテキストで実現:三、{半}四五六、{半} >七八九人 > >二、{半}三人 > >〇・{半}三五一四 > >約物が連続する場合の配置方法をプレーンテキストで明示的に指定: >(通常は指定しなくても自動処理されるべきだが、明示的に指定できることは処理方 >法の記述などに有用)…である。{半}」{全}この… > >…である){半}。{全}この… > >…である、{全}「{半}この… > >…である」{全}「{半}この… > >…である「{全}『{半}この… > >…である){半}」{全}この… > >…「編集」{半}・{全}「{半}校正」 >実装はどうなるか > >これらの異体字セレクタの処理は、Webブラウザなどテキストを表示するレンダリング >エンジンに実装される必要がある。レンダリングエンジンは、文字幅を変えるのに >OpenType の feature を使ってもよい。あるいは標準のグリフの前または後ろまたは >両側を詰めるかアキを追加するかしてもよい。 >CSS Text の text-spacing プロパティによる行頭・行末の約物、連続約物の詰め >(trim-)とアキ(space-)の処理は、これらの異体字セレクタが指定された約物には適用 >されない。つまり異体字セレクタでの指定が優先されるものとする。 >CSS Writing Modes の text-orientation プロパティが初期値の mixed である場合、 >これらの異体字セレクタによる縦書きの文字の向きが優先される。mixed 以外の場合 >には text-orientation プロパティの指定が優先されるものとする。 >なお、現状のWebブラウザの実装では、矢印記号など、フォントによって縦書きで >'vert' feature で回転した字形が存在するものは、text-orientation に upright を >指定した場合にもそれが適用されて正立の文字とならないという問題がある。このよ >うな方向のある文字には upright が指定されたとき 'vert' feature は適用されるべ >きではないだろう。 > > >とりあえず以上 > >---- >Shinyu Murakami (村上 真雄) >Vivliostyle Foundation >
Received on Thursday, 17 December 2020 04:21:51 UTC