Linux の X Window 上で、Microsoft Windows の True Type Font が使えれば。。。、という以前の記事(下記)のアップデートです。
これは Microsoft がインターネット上で公開していた True Type Font(英文用のみ)を利用して Linux の RPM パッケージを作成するための spec ファイルを公開しているプロジェクトサイトです。
- Smart package of Microsoft's core fonts | Free software downloads at SourceForge.net
- Microsoft's TrueType core fonts on rpm based systems
Fedora の場合は、下記のパッケージが予めインストールされている必要があります。
- rpm-build
- wget
- ttmkfdir
試しに自分の環境で上記パッケージをインストールしようとすると下記のようになります。
$ su パスワード: # yum install rpm-build wget ttmkfdir 読み込んだプラグイン:langpacks Dropbox | 951 B 00:00 google-chrome | 951 B 00:00 rpmfusion-free-updates | 3.3 kB 00:00 rpmfusion-nonfree-updates | 3.3 kB 00:00 updates/20/x86_64/metalink | 4.8 kB 00:00 パッケージ rpm-build-4.11.2-2.fc20.x86_64 はインストール済みか最新バージョンです パッケージ wget-1.14-12.fc20.x86_64 はインストール済みか最新バージョンです パッケージ ttmkfdir-3.0.9-40.fc20.x86_64 はインストール済みか最新バージョンです 何もしません #
あとは spec ファイルをダウンロードして、自分でビルドしてインストールするだけです。ところが最新の spec ファイルは上記のプロジェクトサイド [1] の Files には無く、プロジェクトの Web サイト [2] のリンクから入手するようになっています(もっと言えば、このファイルは Web サイトと同じディレクトリにあります)。このファイルを msttcorefonts-2.5-1.spec という名前で適当な場所へ保存します。なお、rpmbuild コマンドでビルドするデフォルトの spec ファイルの保存場所は、$HOME/rpmbuild/SPECS になります。
ダウンロードした spec ファイルから RPM パッケージをビルドするには以下のようにします(Fedora 20 の場合)。
$ cd rpmbuild/SPECS $ rpmbuild -ba msttcorefonts-2.5-1.spec 警告: %changelog に偽の日付: Fri Aug 25 2001 Daniel Resare実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.g0ZA7m + umask 022 + cd /home/bitwalk/rpmbuild/BUILD + mkdir -p msttcorefonts/downloads + cd msttcorefonts/downloads + mirrors=aarnet+cdnetworks-kr-1+citylan+dfn+freefr+garr+heanet+hivelocity+ignum+internode+iweb+jaist+nchc+netcologne+space+superb-dca2+superb-dca3+superb-sea2+switch+tenet+ufpr+voxel+waix + mirror_count=23 + andale32_md5='cbdc2fdd7d2ed0832795e86a8b9ee19a andale32.exe' + arial32_md5='9637df0e91703179f0723ec095a36cb5 arial32.exe' + arialb32_md5='c9089ae0c3b3d0d8c4b0a95979bb9ff0 arialb32.exe' + comic32_md5='2b30de40bb5e803a0452c7715fc835d1 comic32.exe' + courie32_md5='4e412c772294403ab62fb2d247d85c60 courie32.exe' + georgi32_md5='4d90016026e2da447593b41a8d8fa8bd georgi32.exe' + impact32_md5='7907c7dd6684e9bade91cff82683d9d7 impact32.exe' + times32_md5='ed39c8ef91b9fb80f76f702568291bd5 times32.exe' + trebuc32_md5='0d7ea16cac6261f8513a061fbfcdb2b5 trebuc32.exe' + webdin32_md5='230a1d13a365b22815f502eb24d9149b webdin32.exe' + verdan32_md5='12d2a75f8156e10607be1eaa8e8ef120 verdan32.exe' + wd97vwr32_md5='efa72d3ed0120a07326ce02f051e9b42 wd97vwr32.exe' + download_files='andale32.exe arial32.exe arialb32.exe comic32.exe courie32.exe georgi32.exe impact32.exe times32.exe trebuc32.exe webdin32.exe verdan32.exe wd97vwr32.exe' + failures=0 + set_mirror + local r m ++ expr 17518 % 23 + 1 + r=16 ++ echo aarnet+cdnetworks-kr-1+citylan+dfn+freefr+garr+heanet+hivelocity+ignum+internode+iweb+jaist+nchc+netcologne+space+superb-dca2+superb-dca3+superb-sea2+switch+tenet+ufpr+voxel+waix ++ cut -d+ -f16 + m=superb-dca2 + mirror=http://superb-dca2.dl.sourceforge.net/project/corefonts/the%20fonts/final/ + for f in '$download_files' + check_file andale32.exe + matches= + '[' '!' -r andale32.exe ']' + echo 'andale32.exe does not exist' andale32.exe does not exist + return + '[' '!' ']' + download http://superb-dca2.dl.sourceforge.net/project/corefonts/the%20fonts/final/ andale32.exe + wget --timeout=5 -O andale32.exe http://superb-dca2.dl.sourceforge.net/project/corefonts/the%20fonts/final/andale32.exe --2014-05-05 12:28:40-- http://superb-dca2.dl.sourceforge.net/project/corefonts/the%20fonts/final/andale32.exe Resolving superb-dca2.dl.sourceforge.net (superb-dca2.dl.sourceforge.net)... 209.61.193.20 Connecting to superb-dca2.dl.sourceforge.net (superb-dca2.dl.sourceforge.net)|209.61.193.20|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 198384 (194K) [application/octet-stream] Saving to: 'andale32.exe' 100%[======================================>] 198,384 178KB/s in 1.1s 2014-05-05 12:28:42 (178 KB/s) - 'andale32.exe' saved [198384/198384] + check_file andale32.exe + matches= + '[' '!' -r andale32.exe ']' ++ basename andale32.exe .exe + local variable_name=andale32_md5 + local stored_checksum + eval 'stored_checksum=$andale32_md5' ++ stored_checksum='cbdc2fdd7d2ed0832795e86a8b9ee19a andale32.exe' ++ md5sum andale32.exe + local 'computed_checksum=cbdc2fdd7d2ed0832795e86a8b9ee19a andale32.exe' + '[' 'cbdc2fdd7d2ed0832795e86a8b9ee19a andale32.exe' = 'cbdc2fdd7d2ed0832795e86a8b9ee19a andale32.exe' ']' + matches=yes + '[' '!' yes ']' ... (省略) ... + '[' '!' yes ']' + exit 0 実行中(%build): /bin/sh -e /var/tmp/rpm-tmp.XOcnWu + umask 022 + cd /home/bitwalk/rpmbuild/BUILD + font_files='andale32.exe arial32.exe arialb32.exe comic32.exe courie32.exe georgi32.exe impact32.exe times32.exe trebuc32.exe webdin32.exe verdan32.exe' + cd msttcorefonts + rm -rf cab-contents fonts + mkdir cab-contents + mkdir fonts + for i in '$font_files' + '[' -f downloads/andale32.exe ']' + cabextract --lowercase --directory=cab-contents downloads/andale32.exe Extracting cabinet: downloads/andale32.exe extracting cab-contents/fontinst.inf extracting cab-contents/andale.inf extracting cab-contents/fontinst.exe extracting cab-contents/andalemo.ttf extracting cab-contents/advpack.dll extracting cab-contents/w95inf32.dll extracting cab-contents/w95inf16.dll All done, no errors. + cp cab-contents/andalemo.ttf fonts + rm -f cab-contents/advpack.dll cab-contents/andale.inf cab-contents/andalemo.ttf cab-contents/fontinst.exe cab-contents/fontinst.inf cab-contents/w95inf16.dll cab-contents/w95inf32.dll ... (省略) ... + cp cab-contents/tahoma.ttf fonts + cd fonts + /usr/bin/ttmkfdir + exit 0 実行中(%install): /bin/sh -e /var/tmp/rpm-tmp.4fPbUF + umask 022 + cd /home/bitwalk/rpmbuild/BUILD + '[' /home/bitwalk/rpmbuild/BUILDROOT/msttcorefonts-2.5-1.x86_64 '!=' / ']' + rm -rf /home/bitwalk/rpmbuild/BUILDROOT/msttcorefonts-2.5-1.x86_64 ++ dirname /home/bitwalk/rpmbuild/BUILDROOT/msttcorefonts-2.5-1.x86_64 + mkdir -p /home/bitwalk/rpmbuild/BUILDROOT + mkdir /home/bitwalk/rpmbuild/BUILDROOT/msttcorefonts-2.5-1.x86_64 + '[' /home/bitwalk/rpmbuild/BUILDROOT/msttcorefonts-2.5-1.x86_64 '!=' / ']' + rm -rf /home/bitwalk/rpmbuild/BUILDROOT/msttcorefonts-2.5-1.x86_64 + cd msttcorefonts/fonts + mkdir -p /home/bitwalk/rpmbuild/BUILDROOT/msttcorefonts-2.5-1.x86_64//usr/share/fonts/msttcorefonts + cp andalemo.ttf arial.ttf arialbd.ttf arialbi.ttf ariali.ttf ariblk.ttf comic.ttf comicbd.ttf cour.ttf courbd.ttf courbi.ttf couri.ttf georgia.ttf georgiab.ttf georgiai.ttf georgiaz.ttf impact.ttf tahoma.ttf times.ttf timesbd.ttf timesbi.ttf timesi.ttf trebuc.ttf trebucbd.ttf trebucbi.ttf trebucit.ttf verdana.ttf verdanab.ttf verdanai.ttf verdanaz.ttf webdings.ttf fonts.dir /home/bitwalk/rpmbuild/BUILDROOT/msttcorefonts-2.5-1.x86_64//usr/share/fonts/msttcorefonts + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-compress + /usr/lib/rpm/redhat/brp-strip /usr/bin/strip + /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/lib/rpm/redhat/brp-java-repack-jars ファイルの処理中: msttcorefonts-2.5-1.noarch 警告: ファイルが2回表記されています: /usr/share/fonts/msttcorefonts Provides: font(:lang=aa) font(:lang=af) font(:lang=an) font(:lang=ar) font(:lang=av) font(:lang=ay) font(:lang=az-az) font(:lang=be) font(:lang=bg) font(:lang=bi) font(:lang=bin) font(:lang=br) font(:lang=bs) font(:lang=bua) font(:lang=ca) font(:lang=ce) font(:lang=ch) font(:lang=co) font(:lang=crh) font(:lang=cs) font(:lang=csb) font(:lang=cy) font(:lang=da) font(:lang=de) font(:lang=el) font(:lang=en) font(:lang=eo) font(:lang=es) font(:lang=et) font(:lang=eu) font(:lang=fi) font(:lang=fil) font(:lang=fj) font(:lang=fo) font(:lang=fr) font(:lang=fur) font(:lang=fy) font(:lang=gd) font(:lang=gl) font(:lang=gn) font(:lang=gv) font(:lang=he) font(:lang=ho) font(:lang=hr) font(:lang=hsb) font(:lang=ht) font(:lang=hu) font(:lang=ia) font(:lang=id) font(:lang=ie) font(:lang=ig) font(:lang=ik) font(:lang=io) font(:lang=is) font(:lang=it) font(:lang=jv) font(:lang=kaa) font(:lang=ki) font(:lang=kj) font(:lang=kk) font(:lang=kl) font(:lang=ku-tr) font(:lang=kum) font(:lang=kwm) font(:lang=ky) font(:lang=la) font(:lang=lb) font(:lang=lez) font(:lang=lg) font(:lang=li) font(:lang=lt) font(:lang=lv) font(:lang=mg) font(:lang=mh) font(:lang=mn-mn) font(:lang=ms) font(:lang=mt) font(:lang=na) font(:lang=nb) font(:lang=nds) font(:lang=ng) font(:lang=nl) font(:lang=nn) font(:lang=no) font(:lang=nr) font(:lang=nso) font(:lang=ny) font(:lang=oc) font(:lang=om) font(:lang=os) font(:lang=pap-an) font(:lang=pap-aw) font(:lang=pl) font(:lang=pt) font(:lang=rm) font(:lang=rn) font(:lang=ru) font(:lang=rw) font(:lang=sc) font(:lang=se) font(:lang=sel) font(:lang=sg) font(:lang=sk) font(:lang=sl) font(:lang=sma) font(:lang=smj) font(:lang=smn) font(:lang=sn) font(:lang=so) font(:lang=sq) font(:lang=sr) font(:lang=ss) font(:lang=st) font(:lang=su) font(:lang=sv) font(:lang=sw) font(:lang=tk) font(:lang=tl) font(:lang=tn) font(:lang=tr) font(:lang=ts) font(:lang=tt) font(:lang=tyv) font(:lang=uk) font(:lang=uz) font(:lang=vo) font(:lang=vot) font(:lang=wa) font(:lang=wen) font(:lang=wo) font(:lang=xh) font(:lang=yap) font(:lang=yi) font(:lang=za) font(:lang=zu) font(andalemono) font(arial) font(arialblack) font(comicsansms) font(couriernew) font(georgia) font(impact) font(tahoma) font(timesnewroman) font(trebuchetms) font(verdana) font(webdings) msttcorefonts = 2.5-1 Requires(interp): /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(post): /bin/sh Requires(preun): /bin/sh パッケージに含まれないファイルの検査中: /usr/lib/rpm/check-files /home/bitwalk/rpmbuild/BUILDROOT/msttcorefonts-2.5-1.x86_64 書き込み完了: /home/bitwalk/rpmbuild/SRPMS/msttcorefonts-2.5-1.src.rpm 書き込み完了: /home/bitwalk/rpmbuild/RPMS/noarch/msttcorefonts-2.5-1.noarch.rpm 実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.8lANUn + umask 022 + cd /home/bitwalk/rpmbuild/BUILD + '[' /home/bitwalk/rpmbuild/BUILDROOT/msttcorefonts-2.5-1.x86_64 '!=' / ']' + rm -rf /home/bitwalk/rpmbuild/BUILDROOT/msttcorefonts-2.5-1.x86_64 + exit 0 $
このパッケージは、必要なソース(フォント)全てを wget でダウンロードしてビルドします。ダウンロードに失敗する場合がありますので、その場合は繰り返しビルドし直してください。パッケージが無事ビルドできたら、ルート権限になり yum でインストールします(私の環境では既にインストールされてますので下記のようになります)。
$ su パスワード: # yum localinstall /home/bitwalk/rpmbuild/RPMS/noarch/msttcorefonts-2.5-1.noarch.rpm 読み込んだプラグイン:langpacks /home/bitwalk/rpmbuild/RPMS/noarch/msttcorefonts-2.5-1.noarch.rpm を調べています: msttcorefonts-2.5-1.noarch /home/bitwalk/rpmbuild/RPMS/noarch/msttcorefonts-2.5-1.noarch.rpm: インストールされたパッケージを更新しません。 何もしません #
ライセンス
Microsoft がインターネット上で公開していたこれらのフォントは、Microsoft End-User License Agreement ("EULA") によれば、Microsoft の許可なしに何か他のパッケージに加えて配布することはできないけれど、公開されているフォントをそのままの状態で再配布することは可能とのことです。また、使用用途を Windows に限定した記述はありません。そのため、SourceForge の上記プロジェクトサイトで、Microsoft が公開していたままをアップし、RPM パッケージを作成するときに wget でダウンロードしに行くというやり方を取っているわけです。
気になる点は、spec ファイルの %description に記載されている Microsoft のサイトがもはや存在しないことです。
%description The TrueType core fonts for the web that was once available from http://www.microsoft.com/typography/fontpack/. The src rpm is cleverly constructed so that the actual fonts are downloaded from Sourceforge's site at build time. Therefore this package technically does not 'redistribute' the fonts, it just makes it easy to install them on a linux system.
その代わり、下記に Web 用のフォントパックの公開は中止した旨が掲示されています。
オリジナルのサイトが無くなっても、フォントパックが公開されていた時の配布条件に従って使用している限りは問題はないはずだと解釈して、ありがたく利用しています。
0 件のコメント:
コメントを投稿