Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: making group ruby breakable #337

Closed
kidayasuo opened this issue Aug 20, 2022 · 2 comments
Closed

Proposal: making group ruby breakable #337

kidayasuo opened this issue Aug 20, 2022 · 2 comments

Comments

@kidayasuo
Copy link
Contributor

JLReq-d においてグループルビの折り返しを可能にする提案 (ver. 1)

提案内容

JLReq-d においては、グループルビを折り返し可能にする。

・親文字列の任意の場所で折り返しを許し、ルビをソフトウェアが自動的に分割する。その際の分割ルールや考え方を示す。例えばルビの文字数が折り返しの前後でゼロになることを避ける。

・同時に、コンテンツ側からルビの分割位置を調整することを可能にするため、熟語ルビを援用することでルビをグルーピングする方法を提案する。例えば「京都(きょうと)」のルビを単純文字数で二分割すると「きょ」「うと」となるが「京(きょう)都(と)」と分割されてほしい(本来の熟語ルビ)。「先端技術(ハイテクノロジー)」が「先端/技術」と分割されるならばルビは「ハイ/テクノロジー」と指示したい。部分親文字列の切れ目以外の場所で折り返す場合には、部分親文字列にルビ分割ルールを適用する。

・親文字、部分親文字列の折り返しは、親文字の単位が2文字など短い場合や、行頭揃えの場合は特に、優先順位を下げることが望ましい。

・グループルビを折り返し禁止にする考え方、また、分割位置が指示されていなくても形態素解析などの手法を使ってより良い分割位置を探せる可能性、などについて触れる。

背景

敏先生によると、活字組版時代はその場での工夫が可能で必ずしも分割禁止ではなかったとのこと。印刷においては、長いルビが行の終わりにかかって組みを破綻させるようなケースは、著者や編集者の常識とプロの校正によって避けられてきた。しかるに、デジタルでは自動的にそれなりの組みになる必要がある。時に違和感のある折り返しが現れ得るという欠点を受容しつつ、折り返しを許すやり方を提案する。

ついでに

用語について

ルビは、三種類もあるルビの理解がまず難しいと感じています。しかしよく比べて読めば基本は共通です。ルビの単位が一文字より大きければグループルビですから、モノルビとグループルビは一体で説明し、異なる点を、一文字の場合には、と例外を説明する方が記述が短く、わかりやすくなるように思います。用語を増やすとそれだけ複雑に見えますので、両方まとめて「ルビ」で良いと私は思います。

また熟語ルビは、熟語ルビと説明するよりも「ルビをグルーピングする機能」もしくは「ルビを分割 (subdivide) する機能」と言った方が、技術者には分かりやすいと考えます。従来熟語ルビの必要性を技術者に説得できていませんが、グループルビの折り返し位置を調節する、という新たな役目の説明が突破口になる可能性がある、かも、と思います。

まとめると、jlreq-d では、組版の説明は単純化された言い方で行い、用語は囲みかどこかで「これは組版の世界ではこう言う」と説明するのはどうでしょう?

@kidayasuo
Copy link
Contributor Author

oops, a wrong repository. It is for jlreq-d. closing.

@kidayasuo
Copy link
Contributor Author

moving to jlreq-d

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant