TypographicUnit 0.1.0 を公開しました

TeX流にタイプサイズの単位変換を行なうライブラリでありますところの TypographicUnit 0.1.0 を公開致しました。これで rubyforge を利用したプロジェクトは6つ目です。rubyforgeさん、いつもいつもありがとうございます。

このライブラリはTeXのやり方を参考にタイプサイズの単位変換を行なうものです。具体的には以下の単位を相互に変換することが出来ます。

  • TeX Scaled Point(sp)
  • TeX Point(pt)
  • Pica(pt)
  • Inch(in)
  • TeX Big Point(bp)
  • PostScript Point(ps_pt)
  • Meter(m)
  • Centimeter(cm)
  • Milimeter(mm)
  • Didot Point(dd)
  • Cicero(cc)
  • 級, Q(q)
  • JIS Point(jis_pt)

インストールはいつもの通りgemっといて下さい。

sudo gem install typographic-unit

簡単な使い方の例は次のような感じです。

require "typographic-unit"

1.cm          # => #<1cm>
1.cm - 1.mm   # => #<0.9cm>
1.cm == 10.mm # => true

1.in >> :cm          # => #<2.54cm>
2.54.cm >> :in       # => #<1.0in>
1.in - 1.cm          # => #<0.606299212598425in>
(1.in - 1.cm) >> :cm # => #<1.54cm>

以上の例で大体のところはつかめるかと思いますが、単位変換は x >> :cm みたいな感じで行ないます。

1.pt >> :mm     # => #<0.351459803514598mm>
7227.pt >> :cm  # => #<254.0cm>
1.in >> :bp     # => #<72.0bp>
1.pt >> :sp     # => #<65536.0sp>
1157.pt >> :pt  # => #<1238.0pt>
1.cc >> :dd     # => #<12.0dd>
10.q >> :mm     # => #<2.5mm>
1.jis_pt >> :mm # => #<0.3514mm>

一応、足し算とか引き算とか掛け算とか割り算とか出来ます。

1.cm + 1.mm # => #<1.1cm>
1.cm + 1.in # => #<3.54cm>
1.pt - 1.bp # => #<-0.00131797426317971mm>
100.ps_pt - 100.jis_pt >> :mm # => #<0.137777777777779mm>
1.cm * 10   # => #<10cm>

ついでにステップも踏めます。

list = []
1.cm.step(3.cm, 0.5.cm) do |i|
  list << i
end
list # => [1.cm, 1.5.cm, 2.cm, 2.5.cm, 3.cm]

みたいな感じですのでまぁ多分便利だろうと思います。1インチが2.54cmであることをすぐに忘れてしまう私のような鳥頭さんにはぴったりのライブラリではないでしょうか。単位変換の精度とかそういう難しいことはよく分かりませんが、簡単に使えるし大まかなところで正しく変換できているだろうと思いますので是非とも使ってみて下さいませ。よろしくお願い致します。