typeset 0.1.0
縦書き・横書きの日本語組版ライブラリ(JLReq 水準、ラスタ / PDF / SVG)
読み取り中…
検索中…
一致する文字列を見つけられません
char_class.hpp
[詳解]
1#ifndef TYPESET_TEXT_CHAR_CLASS_HPP
2#define TYPESET_TEXT_CHAR_CLASS_HPP
3
4#include <cstdint>
5
14namespace typeset::text {
15
19enum class CharClass : uint8_t {
22 Hyphen,
23 Dividing,
24 MiddleDot,
25 FullStop,
26 Comma,
28 Iteration,
29 Prolonged,
30 SmallKana,
34 Hiragana,
35 Katakana,
37 Space,
38 Western,
39 Digit,
40 Unknown,
41};
42
50enum class BodyAlign : uint8_t {
51 Full,
52 Start,
53 End,
54 Center,
55};
56
58
61
63
66
69
72
75
78
79} // namespace typeset::text
80
81#endif // TYPESET_TEXT_CHAR_CLASS_HPP
text/char_class — JLReq の文字クラス
Definition style.hpp:9
bool isHalfWidthPunctuation(CharClass c)
半角に詰められる約物か(仮想ボディが全角、字面が半角のもの)
CharClass
文字クラス(コメントの cl-NN は JLReq の文字クラス番号)
@ PrefixAbbr
cl-12 前置省略記号 ¥ $ £ # €
@ MiddleDot
cl-05 中点類 ・ : ;
@ IdeographicSpace
cl-24 和字間隔(全角空白)
@ PostfixAbbr
cl-13 後置省略記号 ° ′ ″ ℃ % ‰
@ Comma
cl-07 読点類 、 ,
@ Ideographic
cl-19 漢字等
@ Hyphen
cl-03 ハイフン類 ‐ 〜 ゠ –
@ Digit
cl-27 のうち算用数字(縦中横の判定に使う)
@ Iteration
cl-09 繰返し記号 々 〻 ゝゞヽヾ
@ Unknown
上記に該当しないもの(和字扱い)
@ Hiragana
cl-20 平仮名
@ SmallKana
cl-11 小書きの仮名 ぁぃぅ… ァィゥ… っゃゅょ
@ OpenBracket
cl-01 始め括弧類 「(〔[{〈《【
@ Prolonged
cl-10 長音記号 ー
@ Inseparable
cl-08 分離禁止文字 — … ‥ 〳〴〵
@ Western
cl-27 欧文用文字
@ FullStop
cl-06 句点類 。 .
@ Space
cl-26 欧文間隔
@ Katakana
cl-21 片仮名
@ CloseBracket
cl-02 終わり括弧類 」)〕]}〉》】
@ Dividing
cl-04 区切り約物 ! ? ‼ ⁇
bool isJapanese(CharClass c)
和文の文字か(和欧間アキの判定に使う)
BodyAlign getBodyAlign(CharClass c)
BodyAlign
仮想ボディ内での字面の寄り
@ Center
中央に寄る(中点類)
@ End
奥側に寄る(始め括弧)
@ Start
行の進む向きの手前側に寄る(句読点・終わり括弧)
@ Full
全角ボディいっぱい(通常の和字・欧文)
bool isWestern(CharClass c)
欧文の文字か(和欧間アキの判定に使う)
bool isLineEndProhibited(CharClass c)
行末禁則 — この文字の直後では改行できない
CharClass getCharClass(char32_t cp)
bool isHangable(CharClass c)
ぶら下げ可能な約物か(句点類・読点類)
bool isLineStartProhibited(CharClass c)
行頭禁則 — この文字の直前では改行できない