FontForge 2.0.20140101 日本語対応版をArch Linuxにインストール

f:id:itouhiro:20140824150917p:plain


Arch Linuxのインストールは http://itouhiro.hatenablog.com/entry/20140730/linux を参照。

まずは Arch Build System をインストール。

# pacman -S abs

https://www.archlinux.org/packages/extra/i686/fontforge/
を見ると「Repository: Extra」とある。

/etc/abs.conf でextraの前に ! がないか確認する。

REPOS=(core extra !community !testing !community-testing
       !staging !community-staging !gnome-unstable !kde-unstable)

absコマンドを実行して、absツリーを取得。

# abs

/etc/makepkg.conf を書き換えてPACKAGERを設定。

#PACKAGER="John Doe <john@doe.com>"
PACKAGER="Itou Hiroki <itouhiro !atmark! users.sourceforge.jp>"

このあとはrootではなく、一般ユーザーで実行します。

ビルドディレクトリの作成

$ mkdir ~/abs
$ cp -pr /var/abs/extra/fontforge ~/abs/
$ cd ~/abs/fontforge/


日本語パッチの準備
http://www.geocities.jp/meir000/fontforge/ の日本語縦書きパッチを取得。

$ wget http://www.geocities.jp/meir000/fontforge/fontforge-20140104-vmetrics.patch.txt
$ sha1sum fontforge-20140104-vmetrics.patch.txt
$ vi PKGBUILD


編集する箇所

--- PKGBUILD.orig       2014-07-31 07:05:48.000000000 +0900
+++ PKGBUILD    2014-07-31 16:20:41.938494158 +0900
@@ -16,10 +16,12 @@
          'python2' 'desktop-file-utils' 'gtk-update-icon-cache' 'hicolor-icon-theme')
 source=("https://github.com/fontforge/fontforge/archive/${_pkgver}.tar.gz"
         'http://fontforge.org/cidmaps.tgz'
-        'giflib.patch')
+        'giflib.patch'
+        'fontforge-20140104-vmetrics.patch.txt')
 sha1sums=('abce297e53e8b6ff6f08871e53d1eb0be5ab82e7'
           'efbc7c9d3e95159f5600dc71f9cccb370e46bb94'
-          '420dd1dd75d72719f3203d832bfa8c1c7e7eef86')
+          '420dd1dd75d72719f3203d832bfa8c1c7e7eef86'
+          'f056b3ae8afb432b289000c2193c221cddc5830f')

 options=('!makeflags')
 install=install
@@ -28,6 +30,7 @@
        cd "${srcdir}/${pkgname}-${_pkgver}"
        sed '/fontforge_package_name/s/^#//' -i configure.ac
        patch -p1 -i ../giflib.patch
+       patch -p1 -i ../fontforge-20140104-vmetrics.patch.txt
        ./autogen.sh
 }


ビルド

$ makepkg -s


ビルドを待つ。

[foo@localhost fontforge]$ makepkg -s
/usr/bin/makepkg: eval: line 2272: unexpected EOF while looking for matching `"'
/usr/bin/makepkg: eval: line 2273: syntax error: unexpected end of file
==> Making package: fontforge 20140101-3 (Thu Jul 31 16:14:44 JST 2014)
==> Checking runtime dependencies...
==> Installing missing dependencies...
warning: skipping target: libspiro
resolving dependencies...
looking for inter-conflicts...

Packages (7): libsodium-0.6.1-1  giflib-5.1.0-1  libspiro-1:0.2-1
              libunicodenames-1.1.0_beta1-1  libxkbui-1.0.2-5  python2-2.7.8-1
              zeromq-4.0.4-3

Total Download Size:    10.07 MiB
Total Installed Size:   72.74 MiB

:: Proceed with installation? [Y/n] Y

...

==> Making package: fontforge 20140101-3 (Thu Jul 31 16:22:16 JST 2014)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found 2.0.20140101.tar.gz
  -> Found cidmaps.tgz
  -> Found giflib.patch
  -> Found fontforge-20140104-vmetrics.patch.txt
==> Validating source files with sha1sums...
    2.0.20140101.tar.gz ... Passed
    cidmaps.tgz ... Passed
    giflib.patch ... Passed
    fontforge-20140104-vmetrics.patch.txt ... Passed
==> Extracting sources...
  -> Extracting 2.0.20140101.tar.gz with bsdtar
  -> Extracting cidmaps.tgz with bsdtar
==> Starting prepare()...
patching file gutils/gimagereadgif.c
patching file fontforge/splinechar.c
patching file fontforge/splinefont.c
patching file fontforge/tottfgpos.c
patching file fontforgeexe/charview.c
patching file fontforgeexe/cvpointer.c
Preparing the fontforge build system...please wait

Found GNU Autoconf version 2.69

...

==> Creating package "fontforge"...
  -> Generating .PKGINFO file...
  -> Adding install file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: fontforge 20140101-3 (Thu Jul 31 17:17:25 JST 2014)
[foo@localhost fontforge]$ ls
./                   fontforge-20140101-3-i686.pkg.tar.xz   pkg/
../                  fontforge-20140104-vmetrics.patch.txt  PKGBUILD
2.0.20140101.tar.gz  giflib.patch                           PKGBUILD.orig
cidmaps.tgz          install                                src/
[foo@localhost fontforge]$

patchも適切に適用されたようである。


これをインストール。

$ sudo pacman -U fontforge-20140101-3-i686.pkg.tar.xz

f:id:itouhiro:20140731172926p:plain