2016年9月28日水曜日

Ubuntuのフォントについて

仕事柄偶にフォントを作成する機会が有ります。
簡単ですけどフォントの追加と更新と削除の方法をあメログ。

あまプロではUbuntuを使っています。

先ずフォントのインストール先の確認
これはfc-listで得られます
$ fc-list
/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf: DejaVu Serif:style=Bold
~/.local/share/fonts/さんぷるふぉんと.ttf: さんぷるふぉんと:style=Regular
ファイルの実体ファミリ名スタイルが一覧表示されます

Ubuntuでプレインストールされてるフォントは /usr/share/fonts/ 配下に
ユーザがインストールしたフォントは ~/.local/share/fonts/ 配下に有る様です
これはディストリビューションやバージョンに因って変わります

今回あメログするのはユーザがインストールしたフォントのお話です

 追加は簡単、フォントファイルをフォントビューアで開いてインストール押下だけです

 削除はフォントファイルを削除
  例えば rm ~/.local/share/fonts/さんぷるふぉんと.ttf
 の後に
 fc-cache -fv
 を実行して、フォントキャッシュを再構築する必要が有ります(少し時間が掛かります)

 更新は削除して追加です

このフォントの追加削除更新を押さえておけば、もう後はフォントを作るだけ

フォントの作成について

仕事柄チラシやウェブサイトを作成する事が有ります
その中で既存のフォントではなく、独自のフォントを作成したい時が有ります
フォントの作成方法をあメログ

遣りたい事はパソコンだけでフォントを作成
紙に書いた時をスキャンして作成する方法も有んねんけど、今回はパソコン完結法に挑戦
UbuntuでInkscapeFontForgeを使います

先ず、Inkscapeで新規画像を作成します
ファイル > ドキュメントのプロパティで画像サイズを設定します
大きめに1024×1024ピクセルにします

次、表示したい字を描きます
取り敢えず今回は「あ」だけ
二画以上の文字は一つのオブジェクトに結合する必要が有りますので
編集 > すべて選択( Ctrl + a)して
パス > 結合( Ctrl + k)します
パス > 統合( Ctrl + +)でも同じみたいです…

次に画像と文字をマッチングさせます
テキスト > SVGフォントエディターを開いて
新規ボタンを押下してフォントを作成します
作成したフォントを選択し、全体設定タブのファミリ名に適当に入力します
 プレビューテキストに「あいうえお」を入力します
この時点ではプレビューに「■■■■■」が表示されます
グリフタブのグリフを追加を押下します
マッチング文字列にマッチングさしたい文字を入力します
この場合は「あ」を入力
選択オブジェクトから曲線を取得を押下すると
プレビューに「あ■■■■」と表示されます
一文字だけやと寂しいんで、「い」も追加してみます
邪魔になるんで、「あ」オブジェクトは削除して「い」を描画します
手順は殆ど同じで新たにグリフの追加を行い、マッチング文字列を「い」にします
選択オブジェクトから曲線を取得を押下するとプレビューテキストに「あい■■■」と表示されます
SVGファイルで保存してInkscapeの作業は終わりです

InkscapeでTrueTypeフォント形式に変換出来たら便利なんですけど、現状(0.91)出来ません
SVG -> TTF変換を行う必要が有ります
変換方法は何でも良いんですが、今回はFontForgeを用います
変換サイトも幾つか有りますよ~

FontForgeを起動します
ファイル > 開くを押下して、先程保存したSVGファイルを開きます
ちょっと寂しいですけど「あい」だけ読み込まれます
 ファイル > フォントを出力を押下して出力形式を選択します
ファイル名とTrueTypeを選択して保存を押下します
何故かファイル名に全角を入力出来ませんが、ペーストが出来る様です
エラーが表示されますが、保存を押下するとTTFファイルが出力されます

実はこの変換に使ったFontFogeはフォント作成ソフトなので、頑張ればこれだけでフォントが作成出来るんですけど…ちょっと使い難いんで、Inkscapeで描きました
生成されたTTFファイルをフォントビューアで開くと
あいあいあいと表示されます
 あいに溢れてますね
インストールを押下するとフォントがインストールされます

エディタ等で生成したフォントを表示すると
ちゃんと表示されてます~
「あい」以外の未作成の文字は標準フォントで補完されてますね
後は他の平仮名と片仮名と漢字とアルファベットと記号…で同じ作業を繰り返すだけです


2016年9月21日水曜日

先日、Code for Amagasakiの活動の一環としてICT活用勉強会の講師として登壇させて頂きました。
その中で短いZIPパスワードは危険ですよというお話をしました。
備忘録としてあメログ。

ディストリビューションに選っては標準でインストールされてるfcrackzipというツールを用いてZIPパスワードを解析してみました
先ず
sudo apt-get install fcrackzip
でインストール
man fcrackzip
を熟読…
そして何かしら暗号化したいファイルを作成し、ZIPコマンドで暗号化
zip -P 0123456 暗号化されたファイル.txt.zip 暗号化してへんファイル.txt
取り敢えずパスワードは数字七桁とします
この暗号化されたファイル.txt.zipのパスワードを解析してみます
fcrackzip -u -c 1 -l 7-7 暗号化されたファイル.txt.zip
引数は何を意味しているかというと、
 -u 解析したパスワードをuzipで確認する
      これを指定しないと何故か動きません…
 -c 解析するパスワードの文字種類
      1が数字、aが小文字、Aが大文字、!が記号を表します
      省略時には全種解析します
 -l 解析するパスワードの桁数の最小値と最大値
     7-7やと七桁だけを解析します
     省略時には七桁以上を解析します

進行の関係上、数字七桁という決め打ちで実行しましたが、大体数十秒で
$ fcrackzip -u -c 1 -l 7 "暗号化されたファイル.txt.zip"


PASSWORD FOUND!!!!: pw == 0123456
という風に、パスワードを解析出来ました。
Intel(R) Atom(TM) CPU N270   @ 1.60GHzという数年前のCPUでもこんな感じです。
最新のGPU搭載マシンでは全種20桁のパスワードでも数日で解析してしまうそうです。
凄いですね~。

何故かUbuntu標準のGUI圧縮解凍ツールのArchive Managerで暗号化したZIPファイルは解析出来ませんでした…

あまプロでもこんな話を織り交ぜて勉強して行きたいと思います。

2016年9月20日火曜日

Code for Amagasakiでは今年度アーバンデータチャレンジに参加していまして、その中でバリアフリーマップを作ろうとしています

年度を通しての挑戦なんですが、先ずは試作品を作って参加者の目標を明確にしよう
という事で、来週09/25(日)に講師を招いてOpenSourceRoutingMachineのハッカソンを開催します
OSMのデータとOSRMのツールを用いて(先ずは尼の)車椅子経路探索アプリを試作します
当ハッカソンはUDCの助成を受けておりますので、どなたでも無料でご参加頂けます
勿論C4Aに興味が有れば嬉しいですが、全く興味無しの方や、尼に関係無い方でも自由にご参加頂けます
10時~16時のハッカソンになりますので、間に一時間お昼休憩を挟みます

2016年9月7日水曜日

GIMPで入稿について

あまがさきプログラミング教室です。

教室やイベントの運営上、チラシを作成する事が良く有ります。
チラシ作成は苦手なんですが、これも勉強と考え悪戦苦闘しながら作ってます。

あまプロではLinuxを使っているので、チラシ作成はGIMP + Inkscapeで行います。
チラシの作成手順をあメログ。

最近の印刷会社はプリントパック、ラクスル、プリントネット、イロドリ等々各社色々有りますが、どれも印刷機の空きを利用した印刷が多いです。

チラシ(や名刺等)を作成する場合は文字切れと塗り足しを考慮する必要が有ります。

文字切れは文字や絵等のチラシに収まらなければならない物(切れてはならない物)を収める範囲です。チラシの内側3mmになります。

塗り足しはチラシの無印刷部分(白)を無くす為にチラシ選り大きく印刷する範囲です。
チラシの外側3mmになります。
背景画を塗り足しに描く事で、無印刷部分の無い綺麗なチラシになります。

何故、この様な設定が必要かと言うと、印刷会社では効率化の為に大きな台紙に複数のチラシを印刷し、裁断しているからです。家庭用プリンタの様に一枚ずつ印刷してるんじゃないんですね。
まとめて刷って後で切った方が早くて安く仕上がるんですねー。お陰でチラシやと100部500円という脅威の安値を叩き出しています。
只、現代の技術を持ってしても裁断時に±3mm程度の誤差が生じてしまうそうです。なので、切れたらあかん文字は内側3mmに収めて、白地が出ない様に外側3mmにも色を塗るという事です。
因みに上下左右3mmずつですので、縦横では倍の6mmが必要です。

A4(297mm×210mm)の場合ですと、文字切れが291mm×204mmで、塗り足しが303mm×216mmです。
名刺(55mm×91mm)の場合ですと、文字切れが49mm×85mmで、塗り足しが61mm×97mmです。こちらは横書きの場合で、縦書きの場合は適宜変換して下さい。

チラシ作成時には塗り足しのサイズで画像を作成します。こちらはA4の場合。
単位をmm(ミリメートル)にして216mm×303mmにします。GIMPの仕様で215.90mm×303.06mmとなりますが、これで大丈夫です。
カラーの場合は解像度を350ppiに設定します。モノクロ(グレイスケール)の場合は1000ppiだそうです。
このまま闇雲に描き始めても良いですが、何か目印が欲しい所です。でないと、文字切れの範囲も判りません…。

そこで、GIMPのガイド機能を使用します。
先ず、A4サイズ(仕上がり)の目印を付けます。
左上の3mm×3mmの座標から
右下の213mm×300mmまでを矩形選択して
 メニュー > 画像 > ガイド > 選択範囲から新規ガイド を実行します。
次に6mm×6mmと210mm×297mmを選択して、同様にガイドを作成します。
これで文字切れのガイドと仕上がりのガイドが付きました。
このガイドを基に、文字等の必須情報は一番内側の範囲内に、背景はキャンバス全体に描画する事でチラシ作成を進める事が出来ます。
これをPDFへエクスポートすると、どんな印刷会社へも入稿出来ます。

ガイドを付けておくと際がはっきり判るので便利です。
名刺などの他の用紙でも遣り方は同じです。

あーそうすると、仕上がりのガイド線は要らへんかもね…まぁ目安として。

僕の場合、この塗り足しサイズでガイド付きの画像をxcf形式で保存して、雛形として使ってます。
チラシ毎にガイドを作成する必要が省け、なかなか便利です。
GIMPテンプレートにしよかなと考えたんですが、GIMPテンプレートにはガイドが付けられないので゛、xcf形式で雛形にしてます。
ドライブにアップしたので、要る方は使て下さい。
 A4塗り足しガイド350ppi.xcf名刺塗り足しガイド350ppi.xcf
ppiとはピクセル/インチの略でdpiドット/インチと同意です。
どちらもGIMP2.8.16forLinux32bitで作成しました。