にせねこメモ

はてなダイアリーがUTF-8じゃないので移ってきました。

少部数・A4クリアファイル印刷メモ

クリアファイルが安く少部数(1~10部程度)作りたいので調べてみた。

※情報は2020/08/05現在
※単価は税込

クリアファイルOne

クリアファイル印刷がスマホでカンタン1枚から【クリアファイルONE】
以前より安くなって250円/枚。1枚から印刷できるところでは最安かも。印刷領域が四角形でない。
二次創作・R18が印刷できるかどうかは不明。

素材 半透明
印刷方式 オンデマンド
白印刷 ×
全面印刷 ×
両面印刷
最小ロット 1
1枚単価 @250
5枚単価 @250
10枚単価 @250
50枚単価 @250
納期 5営業日出荷
送料 ネコポス150円
宅急便600~1200円

おたクラブ

クリアファイル(乳白色)

クリアファイル(乳白色) | 同人誌印刷所おたクラブ

素材 不透明
印刷方式 オンデマンド
白印刷 ×
全面印刷 ×
両面印刷 ×
最小ロット 5
1枚単価 -
5枚単価 @280
10枚単価 @260
50枚単価 @250
納期 5営業日着
送料 ヤマト運輸500~1,000円

全面印刷クリアファイル

全面印刷クリアファイル | 同人誌印刷所おたクラブ
おそらく小ロットで自印刷+全面印刷+両面印刷ができる中では最安じゃないかと思う。

素材 透明
印刷方式 デジタルオフセット
白印刷
全面印刷
両面印刷
最小ロット 5
1枚単価 -
5枚単価 @400
10枚単価 @350
50枚単価 @230
納期 7営業日着
送料 ヤマト運輸500~1,000円

中和印刷ネットショップ オリジナルA4クリアファイル

【お客様デザイン】オリジナルA4クリアファイル| 中和印刷ネットショップ
最小ロットが10枚だが、バリアブル可変印刷により一枚一枚のクリアファイルに違った内容を印字出来る。
二次創作はおそらく不可・R18は不可(参考)。

素材 透明
印刷方式 デジタル印刷(参考)
白印刷
全面印刷
両面印刷
最小ロット 10
1枚単価 -
5枚単価 -
10枚単価 @440
50枚単価 @275
納期 10営業日
送料 550円(北海道・沖縄1100円)

pixivFACTORY クリアファイル

オリジナルクリアファイルのデザイン印刷・自作の同人製作 - pixivFACTORY
単価は高めだが1枚から全面+両面印刷ができる。全面白引き(透明なクリアファイル素材にフルカラーデザインを印刷したあと、白インクの印刷をする手法)のため透明部分のあるクリアファイルは作れない。

素材 透明(全面白引きのため透過×)
印刷方式 デジタル印刷(全面白引きあり)
白印刷 ×
全面印刷
両面印刷
最小ロット 1
1枚単価 @920
5枚単価 @820
10枚単価 @780
50枚単価 @750
納期 10営業日
送料 1個270円
2個~ 770円

8mmフィルムの簡易テレシネを行う

8mmフィルムで制作された自主制作アニメ作品を簡易的にデジタル化する機会があったので、再度やるときのためにメモとして試行錯誤の記録を書いておく。

8mmフィルムとは

ビデオが普及するまでは、映像はフィルムで撮られていた。
大学サークル等での自主制作アニメーションにおいては、主に8mmフィルムが使われていたらしい(アニメーションに限らずだと思うが)。

8mmフィルムと呼ばれるものにもいくつかの規格があるが、自主制作アニメーションで使われるのは富士フィルムシングル8であったようだ。これは構造上、多重露光といった特殊な撮影に必要な巻き戻しができるのがシングル8だけだったためである。
他にはコダック社のスーパー8という規格があり、現像後はシングル8と互換性がある(フィルムの厚みが違う程度)。このためスーパー8用の機材が現像後の工程ではシングル8でも使える。このほかにも非互換なレギュラー8という規格もあったが省略。

簡易テレシネとは

テレシネとは、フィルム映像をビデオ信号に変換することを指す。
8mmフィルムは幅が8mmのフィルムで、一秒辺り24コマ(16コマという設定もある)が記録される。そのため、一コマ一コマをスキャンして映像として再構成するというのが一番フィルムの情報を失わずデジタル化することができる訳ではある(ちゃんとした8mmフィルムテレシネサービスではそうしている)のだが、個人でやるのは難しい。
その代わり、フィルムを映写機で映写し、それをカメラでビデオ撮影することによってデジタル化をするというのが簡易テレシネである。直接スキャンするのに比べて画質は悪いにしろ、何が写ってるかは把握できる。

映写

使用した機材は次のもの。

f:id:nixeneko:20200227110018j:plain
ELMO ST-180

  • 映写機: ELMO ST-180
  • ビデオ撮影用カメラ: Pentax K-50 (レンズは50mmの短焦点レンズ)

映写機は内部のベルトが溶けてベトベトになっていたため、次のページを参考にアルコールで清掃し、新しいベルトを装着した。

映写機にフィルムをセットする時に、爪の引っ掛かりが悪かったりして何回やってもオートローディングがうまくいかない場合があった。この場合、ロードするフィルムの先端を、真ん中をちょっと膨らませ気味にきれいに切ってやることでうまくロードできるようになる場合があった。しかしこれもたまたまうまくいっただけで逆効果の可能性もある。
f:id:nixeneko:20200227205651j:plain

フィルム自体を切りたくない場合は、白リーダーフィルムをつなぐ。フィルムをつなぐためにはスプライサーとスプライシングテープが必要。
白リーダーフィルムは次のようにスーパー8用のものをebayで購入したが、日本で通販しているところもある。

また、一度上映中にプーリーのベルトを溶着した部分が切れてしまい、フィルムが進まなくなってしまった時があった。このとき、ハロゲンランプの熱ですぐに画面が溶けだして、フィルムが焦げる独特の匂いが漂った。何かあったときにすぐに電源を切れるようにしておかないと、作品を台無しにしてしまう可能性がある。
www.youtube.com
こんな感じにフィルムが沸騰するのが見える。

撮影

4つ切りサイズ(379×539mm)の白画用紙を買ってきて壁にテープで貼り、スクリーンとした。
映写機はちゃぶ台の上に乗せて壁に投影し、なるべく画面が正方形になるような位置に調整し、それが収まるようにスクリーンを設置した。

映写機をカメラで撮影し、ちらつきがなくなるように24fpsに調整しようとしたが、電源入れたてとしばらく動かして温まってからでは速度が変わるため、そんな神経質にならなくてもいいかもしれない。それよりも、ある程度ビデオカメラの絞りを絞った方が上下を動くバーが見えなくなり効果的かもしれない。

一眼レフカメラは小型の三脚に固定し、動画撮影機能で撮影した。この時、フルHD(1920×1080)の24fps(となってるけど実際は23.97fpsだった)で記録。手ブレ補正は切る。絞りはやや絞り気味にしてシャッター速度が速くなりすぎないようにし、ちらつきを軽減させる。
音声はヘッドフォン出力からパソコンのオーディオインターフェースにつないで録音し、後で映像に音を合わせることにした。
露出は固定せず、絞り優先自動露出にした。露出を固定した方が良い結果が得られる可能性があるが、フィルム毎に露出を調整しないといけないため、全体を通してそこそこ見れる結果になる自動露出とした。

カメラで撮影した先頭でこれから映写する作品タイトルを喋って記録しておいたが、これは編集の際に役に立った。タイトルをカメラで映すのでもいいと思う。

音声

映写機には音声のステレオミニジャック出力があったため、そこからPCに接続し、音声はPCで録音した。

音声が記録された8mmフィルムは音声がフィルムの両脇に2トラックあり、バランスよくミックスした状態で上映しないと音が偏った感じになるっぽい。映写機に2つのトラックの音のバランスを調整するつまみがあり、それを弄って調整する。音のバランスはフィルムごとに調整する必要がありそう。次の動画のように売られていたフィルムには音声バランス調整用の映像がついていたようである。
www.youtube.com
(via 簡易テレシネ – こもれび倶楽部)

映写機の音声には全体に「ブーン」というハムノイズが乗っている。
映写機のボリュームが小さすぎるとノイズに埋もれてしまうし、大きすぎると今度は録音時にクリッピングが発生し音割れが起きる。作品ごとに音量等は異なるので、試行錯誤して探るしかないかもしれない。

ハムノイズはAudacityなどで除去できる。音声はAudacityで正規化を行ってからハムノイズを除去した。

Adobe Premiereでの調整

映像は23.97fps(カメラの映像に合わせる)、サイズは1280×960とした(4:3)。
映像と音を配置、シーケンスを映像に合わせるか聞かれるので合わせない、エフェクトコントロールタブから、モーション→位置・スケールを弄ってだいたい画面サイズに合わせる。
その後、エフェクト→ビデオエフェクト→ディストーション→コーナーピンを映像にドラッグアンドドロップ
エフェクトコントロールでコーナーピンを選択、ピンの場所を弄って投影された画面を変形させ、4:3のフレームにフィットするようにする(今回はPC閲覧用のため、セーフティゾーンを考慮せず、画面ぎりぎりにした)
映写機の電源を入れる際にノイズが発生するので、それを基準にして映像と音声の同期をするとよさそう。

このブログについて

文字・フォント・プログラム・技術・趣味などについて、Twitterでは書きづらい長い内容などをまとめるためのブログです。基本的には自分用のメモとして書いている部分が多いです。

リンク等

note https://note.com/nixeneko 残らなくてもいい記事
Pixiv Fanbox https://nixeneko.fanbox.cc/ 活動まとめと有料の週報(大したこと書いてないので)
Pixiv https://pixiv.me/nixeneko
Tumblr https://nixeneko.tumblr.com/ 絵。Pixivと同じにしたいがサボリ気味
Pleroma @nixeneko@nixeneko.info Mastodonとかやってる人はフォローしてください
Twitter @nixeneko 最近あんまり使ってない
GitHub https://github.com/nixeneko プログラムとか
Bookmeter https://bookmeter.com/users/9166 読書記録。たまに感想
Amazon欲しい物リスト amazon.jp/registry/wishlist/1C43ZFBA4IL6Z

同人誌(無料公開)

https://nixeneko.hatenablog.com/entry/c88_russian_alphabethttps://nixeneko.hatenablog.com/entry/c90_greek_latin_cyrillichttps://nixeneko.hatenablog.com/entry/20170811_dentyuhttps://nixeneko.hatenablog.com/entry/c100_mongol_bichig_unicode

TrueType命令で回転するvariable fontを作る

TrueType命令で遊ぶシリーズ。

  1. 初めてのTrueType命令: Windowsでは見えないフォントをつくる - にせねこメモ
  2. フォントサイズに合わせて回転するフォントを作る(1) - にせねこメモ
  3. PPEM・ポイントサイズを表示するフォント - にせねこメモ
  4. TrueType命令で三角関数(sin, cos)を計算する - にせねこメモ
  5. フォントサイズに合わせて回転するフォントを作る(2) - にせねこメモ
  6. TrueType命令で擬似乱数: 線形合同法 - にせねこメモ
  7. TrueType命令でビット演算 - にせねこメモ
  8. アウトラインがぶれるフォント - にせねこメモ

概要

文字が回転するvariable fontを作った。variable fontの変化軸の値をTrueType命令で読み取り、その値に応じてTrueType命令を使ってグリフを回転させている。テストページはこちら。たぶんMacでは動かない。

実行例

f:id:nixeneko:20200202112434p:plain
実行結果の例

序論

OpenType font formatのversion 1.8からvariable font機能が追加された。2016年9月のことである。これにより、変化軸を設定して、それに沿って変化するフォントを作成できるようになった。基本の形の情報と変化した形の差分情報を持たせていて、レンダリング時に変化軸の値を変化させると、形が補間される。3DCGを知っているのであれば、モーフターゲット等と呼ばれる機能を想像するとよい。例えば、セリフ体とサンセリフ体を設定してそれらを切り替えたりその中間にするだとか、文字の太さ(ウェイト)やエックスハイトを自在に変化させることが(ちゃんと設定すれば)可能になる。

このvariable fontへのソフトウェアの対応が最近進んできたので、これを利用して文字の回転を指定できるフォントを作ってみたい。

フォント作成時に設定した変化軸の値は、レンダリング時にユーザー側で変化させることができるが、この値を新規に追加されたTrueType命令GETVARIATIONを利用して読み出すことができる。
このため、以前作成した、TrueType命令を利用してフォントサイズに応じて回転するフォントを改変することによって、文字が回転するvariable fontを作ることができる。

Variable fontについて

variable fontについての概要をつかむには次の記事がよい。

これを読みながらメモしたツイートのまとめが次である。
twitter.com
TrueTypeベースのvariable fontに必須のものは次の通り。

  • 'STAT'テーブル…フォントスタイルをattribute valuesの集合で表現するもの
  • 'fvar'テーブル…フォント内で使われる軸を定義。named instanceの情報も含む。
  • 'gvar'テーブル…バリエーションの変化差分

編集

TTX/FontTools

フォントの編集には、OpenTypeフォントバイナリと編集に便利なXMLとを相互変換できるユーティリティであるTTX/FontToolsを用いる。これは、pythonとpipが入っている環境で

pip install fonttools

とすれば簡単に導入できる。

使用方法としては、

ttx font.ttf

とするとフォントファイルfont.ttfの内容をXML形式でダンプしたfont.ttxが出力される。反対に

ttx font.ttx

とするとfont.ttxをフォントバイナリに変換する。名前が被る場合は#1などの連番suffixがつく。

尚、今回はTTXのバージョンは4.2.5を利用した。.ttxファイルはTTXのバージョンによって書式が変更されていたりするので、別のバージョンでダンプした.ttxファイルを.ttfに再変換するのは避けた方がよさそうに思う。

Variable fontのサンプル

ここで、variable fontのサンプルがアドビによって提供されているので、覗いてみて、参考にする。

GitHubのページのreleaseからAdobeVFPrototype.ttfをダウンロードしてきて、ttxを使ってXMLファイルにコンバートし、variable fontに必須なテーブルである<STAT>, <fvar>, <gvar>をみて参考にした。もちろん、それ以外にもvariable fontで使うテーブルは含まれている(HVAR, MVAR, avarなど)のだが、今回の目的には使わない。

作成

さて、回転するvariableフォントの作成に入る。

のページで作成したフォント

をダウンロードしてきて、TTXで.ttxファイルに変換する。

ttx Arotate.ttf

すると、Arotate.ttxファイルが出来上がるので、これをテキストエディタで開いて編集していく。


まず、<name>の下に、変化軸やインスタンスの名前に使う文字列データを最低限追加しておく。WindowsMac用に2回同じ値を定義した。

nameIDは、0~255は用途が決まっている(または予約されている)ので、256~32767を使う*1

    <namerecord nameID="259" platformID="1" platEncID="0" langID="0x0" unicode="True">
      Rotation
    </namerecord>
    <namerecord nameID="260" platformID="1" platEncID="0" langID="0x0" unicode="True">
      Regular
    </namerecord>
    <namerecord nameID="261" platformID="1" platEncID="0" langID="0x0" unicode="True">
      Arotate-Regular
    </namerecord>

    <namerecord nameID="259" platformID="3" platEncID="1" langID="0x409">
      Rotation
    </namerecord>
    <namerecord nameID="260" platformID="3" platEncID="1" langID="0x409">
      Regular
    </namerecord>
    <namerecord nameID="261" platformID="3" platEncID="1" langID="0x409">
      Arotate-Regular
    </namerecord>

そして、variable fontの体をなすための次のコードを<ttFont></ttFont>の下に追加する。

  <STAT>
    <Version value="0x00010001"/>
    <DesignAxisRecordSize value="8"/>
    <!-- DesignAxisCount=1 -->
    <DesignAxisRecord>
      <Axis index="0">
        <AxisTag value="ROTT"/>
        <AxisNameID value="259"/>  <!-- Rotation -->
        <AxisOrdering value="0"/>
      </Axis>
    </DesignAxisRecord>
    <!-- AxisValueCount=1 -->
    <AxisValueArray>
      <AxisValue index="0" Format="2">
        <AxisIndex value="0"/>
        <Flags value="2"/>
        <ValueNameID value="19"/>  <!-- Regular -->
        <NominalValue value="400.0"/>
        <RangeMinValue value="350.0"/>
        <RangeMaxValue value="450.0"/>
      </AxisValue>
    </AxisValueArray>
    <ElidedFallbackNameID value="0"/>  <!-- Regular -->
  </STAT>

  <fvar>
    <!-- Rotate -->
    <Axis>
      <AxisTag>ROTT</AxisTag>
      <Flags>0x0</Flags>
      <MinValue>-180.0</MinValue>
      <DefaultValue>0.0</DefaultValue>
      <MaxValue>180.0</MaxValue>
      <AxisNameID>259</AxisNameID>
    </Axis>

    <!-- Regular -->
    <!-- PostScript: Arotate-Regular -->
    <NamedInstance flags="0x0" postscriptNameID="261" subfamilyNameID="260">
      <coord axis="ROTT" value="0.0"/>
    </NamedInstance>
  </fvar>

  <gvar>
    <version value="1"/>
    <reserved value="0"/>
  </gvar>

STATはフォントスタイルの定義であり、fvarはフォントで使われる変化軸の定義である。それっぽくなるように適当に設定した。

fvarでは変化軸を一つ(ROTT)定義し、あとはそれっぽい値にしている。変化軸はASCII文字4文字からなるタグで指定する。タグはイタリック、幅、ウェイトなどのためにいくつか登録されたものもあるが、自分で定義することもできる。フォント作者が勝手に作ったタグはアルファベット大文字で始まりアルファベット大文字と数字のみからなると決められている*2
また、回転角を指定する軸なので、-180°~180°を指せるように軸の設定をした。

gvarは変化する部分を定義するテーブルだが、ほぼ空っぽである。これでは変化軸に沿って値を変えてもグリフは変形しないはずであるが、変形はTrueType命令に任せることにするのでこうなっている。

次にTrueType命令の改変を行う。
TrueType instructionで変化軸の値の取得するために、GETVARIATION命令が追加された。OpCodeは0x91。
GETVARIATION命令を実行すると、変化軸の数だけ現在のノーマライズされた座標の値(-1.0~1.0ということだろう)がスタックに積まれる(形式は2.14の固定小数点数)。積まれる順番は'fvar'に定義されているものと同順で、'fvar'の最初に定義されているものが最初にpushされる。
新規に追加されたこの命令であるが、もちろん対応していない処理系では扱うことができず、未定義命令としてエラーになってしまう。なので、互換性のため、'fpgm'あるいは'prep'においてIDEF命令によって互換の命令を割り当てる必要がある(未定義命令でないものはIDEFによって上書きされない)。つまり、今回は変化軸が1個なので、GETVARIATION命令と同じ個数pushする次のような命令を追加する必要がある。

      PUSHB[ ] 145             /* OpCode 0x91, GetVariation */
      IDEF[ ]
      PUSHB[ ] 0   /* Number of axes in this font = 1*/
      ENDF[ ]

…と仕様書にはあるのだが、現在Windows 10において、これを書くとGETVARIATIONがうまく動かないみたいなので書かない。代わりにGETINFOでバージョンを取得し、GETVARIATIONに対応した42以上ならばGETVARIATIONを実行、それ以外なら0を返すようにすることにする。

      PUSHB[ ]
      1 
      GETINFO[ ] /* Get version */
      PUSHB[ ]
      42
      GTEQ[ ] /* version >= 42 */
      IF[ ] 
      GETVARIATION[ ] /* returns a 2.14 fixed number corresponding to the axis */
      ELSE[ ]
      PUSHB[ ]
      0
      EIF[ ]

GETVARIATIONによって得られる変化軸の値はF18Dot14で-1.0~1.0に正規化される。今回は入力軸は回転角度で-180~180が-1.0~1.0に正規化されている。
TrueType命令で三角関数(sin, cos)を計算する - にせねこメモで作成した三角関数は入力としてスタックトップからF26Dot6の角度[°]を受け取るので、-1.0~1.0(F18Dot14)→-180.0~180.0(F26Dot6)への変換が必要。つまり、180.0を掛けた後、256.0で割ってやればよい(あるいは、180/256=0.703125を掛ける)。

PUSHB[ ]
45      /* 180/256 */
MUL[ ]

変化軸の値を変更する度に'prep'は呼び出されるはずなので、以前の回転フォントにおいて回転の角度をStorage Areaに書きこんでいた部分を、この命令で置き換える。

これらをまとめると、<prep>は次のようになる。

  <prep>
    <assembly>
      PUSHB[ ]
      1 
      GETINFO[ ] /* Get version */
      PUSHB[ ]
      42
      GTEQ[ ] /* version >= 42 */
      IF[ ] 
      GETVARIATION[ ] /* GetVariation: returns a 2.14 fixed number corresponding to the axis */
      ELSE[ ]
      PUSHB[ ]
      0
      EIF[ ]
      PUSHB[ ]
      45      /* 180/256 */
      MUL[ ]
      PUSHB[ ]	/* 1 value pushed */
      4
      CALL[ ]	/* CallFunction */
      PUSHB[ ]	/* 2 values pushed */
      2 3
      ROLL[ ]	/* RollTopThreeStack */
      WS[ ]	/* WriteStore */
      SWAP[ ]	/* SwapTopStack */
      WS[ ]	/* WriteStore */
    </assembly>
  </prep>

これをTTXで.ttfファイルに変換すると出来上がりである。

サンプル

回転を確認できるようにテストページを作成した:

Windows 10のFirefox, Chrome, Edgeで動作を確認している。MacはTrueType命令を無視するはずなのでたぶん動かない。

ダウンロード

できたフォントのダウンロードはこちら:

*1:Name IDs 256 to 32767, inclusive, are reserved for font-specific names such as those referenced by a font’s layout features. https://docs.microsoft.com/en-us/typography/opentype/spec/name

*2:Foundry-defined tags must begin with an uppercase letter (0x41 to 0x5A), and must use only uppercase letters or digits. https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxisreg

セブンイレブンのコピー機・冊子印刷攻略情報

セブンイレブンコピー機は小冊子印刷ができる。PDFまたは複数の画像ファイルを読み込んで小冊子となる様に面付して印刷してくれる。

使い方について、詳しくは次の記事を参照。
www.doujinshi-print.com


以下はセブンイレブンコピー機でPDFを印刷しようとした時に引っかかった内容をまとめておく。2019年12月現在の状況。

  • モノクロ印刷の場合はデータをモノクロで作成しておく。不必要に解像度を上げない。
    • 印刷はモノクロなのにもかかわらず、600dpi以上の解像度でフルカラーのPSDファイルを配置したPDFファイルを小冊子印刷しようとしたところ、30分経っても全部出力されない、ということがあったので、解像度を下げる、PDFをグレースケールデータにするなどしてデータを小さくしておいた方がよい。
  • メディアに巨大なファイルは入れない方がいい
    • 普通紙プリントを選択すると、画像一覧を表示するために画像を読み込む。この時、巨大なPDFファイル等があると、画像を読み込み中と出たまま読み込みに時間かかって待たされる。300MBのPDFファイルを読み込むのに20秒ほど。不必要なファイルは入れないのが吉。
  • 小冊子印刷では原寸印刷ができない
    • A5のデータをA4に冊子印刷する際、原寸印刷はできず、強制的に「ちょっと小さめ」を選択させられ、データ原寸よりやや縮小して印刷される。他のサイズでも同様。
    • 公式サイトにあるテンプレートは仕上がりサイズより一回り小さいサイズとなっていて、ちょっと小さめの影響を回避できるので、セブンイレブンコピー機で印刷するのが決定している場合はこれをもとに作るのがよさそう。
    • 縮小が発生すると、原稿にトーンを使っている場合はモアレが発生する可能性がある。トーンを使う代わりにグレースケールで塗ることでも回避できる。
  • 1部目の出力には時間がかかる
    • 小冊子印刷するとき、印刷を開始すると最初に「ページ処理中」と表示されて長めに待たされる。9.2MBのPDF (24ページ)を印刷した時は印刷完了まで5分程度かかった。待たされるのは1部目を出力している時だけで、2部目以降はすぐに印刷された。
  • 1ページ毎のJPEG/TIFFの場合、最大32ページ。全ページを1ファイルにまとめたPDFファイルの場合最大99ページ。


情報を募集しております。

タイ語におけるハイフネーションについて

タイ語組版でハイフネーションってあるの?…一応ある。
自分でもタイ語ではハイフネーションをしないものだとばっかり思っていたが、実際に用例がある。タイ語にもハイフネーションがあるとはっきり書いてあるサイトが見当たらなかったので、ここに書いておく。

ハイフネーション

英語やロシア語等の組版では、単語の途中で改行する場合に、行末にハイフンをつけて続きを次の行に送るハイフネーションと呼ばれる操作がある。特に、長い単語が含まれる場合に、行長を一定にするために使われる。
例:

We, therefore, the represen-
tatives of the United States
of America...

タイ語にハイフネーションはない?

タイ語でもハイフネーションはあるのだろうか?
モリサワの発行する英中韓組版ルールブックタイ語では、次のように書かれている。

行揃えは、「均等配置(最終行左揃え)」が基本ですが、デザインによっては「左揃え」や「センター揃え」が使われることもあります。
この際、注意したいのは単語の間では改行を行なわない、ということです。タイ語にはハイフネーションのような考え方がないので、単語の区切りや改行してもよい位置などを確認しながら作業をするとよいでしょう。

タイ語 英中韓組版ルールブック(PDF) (2019/10/22閲覧)

このように、大抵は文章は均等配置(ジャスティファイ)され、行末のハイフンを全く用いない本も多い。


しかし、「ハイフネーションのような考え方がない」というのは言いすぎではないかと思う。実際の印刷物に、ハイフネーションを行った例がみられる。

タイ語ハイフネーションの実例

手元の本から見つけた例を挙げる。

タイ語辞書の例。

f:id:nixeneko:20191117005729p:plain
สุทธิ ภิบาลแทนによるพจนานุกรมประจำตัวนักเรียน (学生向け辞書)。2007年出版。


f:id:nixeneko:20191117002026p:plain
p11. เครื่องตกแต่ง (装飾品)の途中で改行されている。


f:id:nixeneko:20191117000440p:plain
p13. กระเจอะกระเจิง (群から離れて), พรรณไม้ (木の種類)の途中で改行されている。


f:id:nixeneko:20191117003239p:plain
p291. บรรณาธิการ (編集者)の途中で改行されている。


f:id:nixeneko:20191117003652p:plain
พระมหาพิชัยมงกุฎ (プラマハーピチャイモンクット; 王冠の名前), เจ้าแผ่นดิน (国王), พระราชทาน (お下賜になる)の途中でそれぞれ改行されている。

タイ語組版では普通句読点は使われないが、辞書では分かりやすくするためにピリオド、コンマといった英語風の句読点を使うことがあるらしい。

文芸書の例「窓際のトットちゃん」

f:id:nixeneko:20191117010607p:plain
黒柳徹子『窓際のトットちゃん』のタイ語版。Butterfly Book House (สำนักพิมพ์ผีเสื้อ)によって1983年に出版されたもの。


f:id:nixeneko:20191117011753p:plain
p39. สนุกสนาน (面白い)の途中で改行されている。


f:id:nixeneko:20191117011838p:plain
p39. โต๊ะโตะจัง (トットちゃん)の途中で改行されている。


f:id:nixeneko:20191117185414p:plain
p43. โรงเรียน (学校)の途中で改行されている。


f:id:nixeneko:20191117185827p:plain
p101. ประกอบ (組み立てる)の途中で改行されている。


f:id:nixeneko:20191117190346p:plain
p141. คุณครูใหญ่ (校長先生)の途中で改行されている。


f:id:nixeneko:20191117190654p:plain
p157. คุณครูใหญ่ (校長先生)の途中で改行されている。


f:id:nixeneko:20191117191135p:plain
p199. เด็กหญิง (女の子)の途中で改行されている。

これらを見ると、この本では「学校」などといった基礎的な語(複合語)でもハイフネーションがされていることがわかる。

多言語組版研究会の報告から

第4回多言語組版研究会の発表資料(東南アジアの文書スタイルの現地調査結果)において、次のような報告がある。
タイ国内でもっとも広く読まれている新聞であるThairat社と、タイ語組版について2003年にディスカッションした内容として、次のように書かれている。

(1) ハイフン
タイ語起源の単語では、基本的にハイフンは使用しない。ハイフンが使用されるのは、1語が長くなる傾向があるパーリ語サンスクリット語起源の単語だけに適用するのが通例という。その際も、ハイフンを挿入するのは自動化されておらず、手動で入れる。
新聞という媒体の特色と思われるが、ハイフンは、1段記事の場合だけに使用し、2段以上の記事では使うこともあるができるだけ避けるのが通例であると説明された。

3.2 現地調査報告1(報告書3.3.3.2) (DOC) (2019/10/22閲覧)

これは2003年時点のことなので現在では異なっている可能性もあるし、また出版社・出版物等によってポリシーも異なってくるだろうと考えられる。

タイ王立協会による説明

タイの王立協会(Royal Society;旧Royal Institute)が約物(punctuation)の使用規則を定めている。ハイフンの使い方は次のページにある。

これによると、

  1. 音節または複合語が分かれて次の行に続く際に行末に書く(=ハイフネーション)
  2. 押韻構成に従って音節を区切る際に、語全体を示すために使う
  3. 読み方を示す場合に、音節の区切れに書く
  4. 語の前または後ろもしくは前後を一部とりのぞいたものを示すために使う
  5. 「~まで」の意味で、時間・数量・場所の幅を示す
  6. ISBNなどのコードの数字のまとまりを区切るのに使う
  7. 語にどの文字(子音・母音・声調記号)が使われているかを示すために文字・記号の間に挟んで広げるために使う

以上7つが挙げられている。

(1)のハイフネーションの例を引用すると

        คณะกรรมการกำหนดหลักเกณฑ์เกี่ยวกับการใช้ภาษาไทย มีการ
ประชุมทุกวันพฤหัสบดี เวลา ๑๐.๐๐ น. ณ ห้องนันทนาการราชบัณฑิตย-
สถาน ราชบัณฑิตยสถาน.

となっていて、王立協会“ราชบัณฑิตยสภา”の途中で改行されたためハイフンが挿入されているのがわかる。

他に王立協会の約物の使用方法を定めたのを見ると、タイ語では一般的に使われないピリオドやコンマなども解説されており、王立協会が定めているから一般に広く使われているとは言い難いかもしれない。

漫画の改行の例

改行の極端な例として、漫画が考えられる。特に日本漫画の翻訳など、縦に細長いフキダシに台詞を入れたものがあり、横幅が狭いので一行一語でほぼ縦書きのようになっていることもある。しかしながらハイフネーションがされているのは見ない。手元の本で見つけた例を挙げる。

ゆるめいつ」の例

saxyunゆるめいつ』3巻 タイ語版. Zenshu, 2014.

f:id:nixeneko:20191118220507p:plain
p32. ซาเอะ (サエ; 人名)が途中で改行されている。


f:id:nixeneko:20191118214710p:plain
p51. คริสต์มาส (クリスマス)が途中で改行されている。


f:id:nixeneko:20191118215711p:plain
p86. มายองเนส (マヨネーズ)が途中で改行されている。

ひめゴト」の例

佃煮のりおひめゴト』1巻 タイ語版. Boomtown, 2014.

f:id:nixeneko:20191118221352p:plain
p64. อุนโกะ (運子; 人名)が途中で改行されている。


f:id:nixeneko:20191118221936p:plain
p74. โอดะ มิตสึนากะ (織田光永; 人名)の光永の途中で改行されている。


以上を見るに、外来語や人名でもハイフンをつけずに途中改行が許されている。
漫画では(なるべく避けられるにしろ)あまり気にせず語中でも改行をしていて、ハイフンをつけないようだ。

まとめ

タイ語組版において、ハイフネーションは、使われる本もあれば使われない本もあるが、使わない方が多い。使用する場合でも、可能なら使用を避けるものであるようだ。

お願い

文章を組んだもので、語の途中で改行をしていてかつ行末ハイフンを書かない例を見つけたら教えてください。
また、拙いタイ語力で書いているので、間違い等あればご指摘いただければ幸いです。

ノートPCのCPU速度が0.38GHz固定状態になる問題

Windows 10の載ったノートPCを使っていたら、ある日突然動作が遅くなってしまった。リカバリすれば大丈夫かと思い、OSを「このPCを初期状態に戻す」により初期化してみたが治らなかった。

システム:

タスクマネージャを開いてみたところ、CPUの速度が0.38 GHzに張り付いて、使用率は14%のまま推移している。これはおかしい。

f:id:nixeneko:20190524220926p:plain
タスクマネージャー。CPUの速度が0.38 GHzになっている

また、Windows 10をセーフモードで起動してみたところ、CPUの速度が2.71 GHzとなり、正常に動いているようだった。


ネットを検索したところ、次のようなサイトがみつかった。
Solved: CPU frequency stuck at 0.38GHz on battery - HP Support Community - 6979093

これによると、解決法は次のようにするとよいらしい。

  1. 「デバイス マネージャー」を開く
  2. ファームウェア」→「システム ファームウェア」を右クリックし、「ドライバーの更新」を選択
  3. 「ドライバー ソフトウェアの最新版を自動検索」を選択

あとはウィザードに従い、再起動すると、正常に戻った。

f:id:nixeneko:20190524223848p:plain
治った時のデバイスマネージャー。速度が2.71 GHzとなっている

(2019-06-19追記)
一度は直ったものの、しばらく使っているとまた同じ現象に悩まされるようになった。システムファームウェアのドライバを元に戻したりするとまた復活したりするのだが、しばらくすると元に戻ってしまうようだ。

設定→システム→バッテリー→「バッテリー残量が次の数値を下回ったときにバッテリー節約機能を自動的にオンにする」をオフにして再起動したところ、2.71GHzの速度で動くようになった(気がする)。

(2019-06-28追記)
「バッテリー残量が次の数値を下回ったときにバッテリー節約機能を自動的にオンにする」をオフにしてても0.38 GHzになったので関係ない気がする…。

ハードリセットを行ったところ、速度が速くもどった。しばらく様子見する。
Windows OS 搭載のノートパソコンでのハードリセットを行う方法 | サポート 公式 | ASUS 日本