Skip to content

ndc-stone/stone_engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

stone_engineは、日本語の文字組版を実現する、テキストレンダリングエンジンである。

提供クラス

stone_engineは、STLabelSTTextViewというクラスを提供する。これは、UIKitにおけるUILabelとUITextViewを置き換えることを意図している。

STLabel

STLabelは、画面にテキストを表示するためのビュークラスである。編集はできない。次のような特徴を有する。

文字描画方向の指定

文字を描画する方向として、LrTbまたはTbRlを指定できる。TbRlは、いわゆる縦書き表示である。

LrTb(横書き表示)
TbRl(縦書き表示)

縦書き表示

縦書き表示では、フォントを描画するときに適切なグリフが選択される。たとえば、句読点、括弧などに適用される。

数字を表示するときは、いわゆる縦中横が反映される。数字が2桁以下のときは、正体で表示される。2桁より大きいとは、90度回転して表示される。

アルファベットは、90度回転して表示される。

数字の縦中横表示と、アルファベットの90度回転表示

禁則処理

禁則処理は、行頭禁則および行禁則が行われる。禁則の対象となる文字種を指定可能である。

禁則処理の、オン/オフを指定することが可能である。

約物半角

約物(句読点や括弧類)を、半角で表示させることができる。約物の取り扱い方を、以下のモードで指定することができる。

  • 常に全角
  • 常に半角
  • 前後の文字種や行中の位置で、適切に判断する(stoneモード)
常に全角
常に半角
stoneモード

フォントの指定

STLabelでは、文字種ごとにフォントを指定することが可能である。

日本語フォント:游明朝
ラテン文字フォント:Times New Roman
日本語フォント:游ゴシック
ラテン文字フォント:Helvetica

指定可能な文字種は、Unicodeカテゴリとして定義される。

文字種ごとのスケーリング

STLabelでは、文字種ごとに表示するスケールを指定することが可能である。たとえば、日本語フォントとして1.0、ラテン文字フォントとして0.9を指定すると、次のような描画になる。

日本語フォントスケール:1.0
ラテン文字フォントスケール:0.9

文字寄せ

文字寄せとして、以下が指定可能である。

  • 行頭
  • 中央
  • 行末
  • 均等

単語分割

日本語単語分割のオン/オフを指定することができる。これは、改行を行うときに単語を分割するか、しないかを決定するものである。

STTextView

STTextViewは、テキストの編集を行うためのビュークラスである。STLabelが持つ特徴をすべて有する。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •