らんだむな記憶

blogというものを体験してみようか!的なー

小さいUFO

小さいUFOって何だ!?というのはあるが...
複数の Range を結合する - Qiitaを参考にRangeオブジェクトの結合を利用して、

$ tx -ufo -g `ruby -e 'print [".notdef","space",*"A".."Z",*"a".."z"].join(",")'` -o font.shrinked.ufo font.ufo && vfb2ufo font.shrinked.ufo

なんてやるとくっそ便利www
通常のアルファベットの大文字と小文字だけのUFOが瞬殺で出来てしまう。Range強すぎ!

確認にはFontLab Studio 5からデモ版を回収するなどしておくと何かと便利。

Source Sans Proのfeaturesを加工するために一旦全部include命令を展開したものがあると便利。ということでrubyでやってしまう:

#! /usr/bin/env ruby -Ku

INCLUDE_PATTERN = %r"^\s*include\s*\(\s*(\S+)\s*\)"

path = ARGV[0]
dirname = File.dirname(path)

File.open(path) { |f|
    while line = f.gets
        if line =~ /#{INCLUDE_PATTERN}/
            print File.read(File.join(dirname, $1))
        else
            print
        end
    end
}