私は、quicklisp がインストールされた clozure cl (バージョン 1.8-r15286m) を使用して Windows 7 64 ビット システムで作業しています。
Common Lisp 用の freetype2 バインディングが必要です。(文字をグリフにマップ + カーニング情報)
を使用して「cl-freetype2」をインストールしようとしました
(ql:quickload "cl-freetype")
32 ビット clozure cl から、いくつかの問題に遭遇しました。
- "grovel.lisp" (にある
quicklisp/software/cffi_0.11.1/grovel/grovel.lisp
) は、gcc が "c:/msys/1.0/bin/gcc.exe" にインストールされていることを前提としています (パスに mingw-gcc がありますが、そこにはありません)。"grovel.lisp" の "c:/msys/1.0/bin/gcc.exe" を "gcc" に置き換えて修正しました。 - freetype2 の cffi バインディングをコンパイルしようとすると、インクルード ディレクトリをコンパイラに渡すときに (つまり、gcc`
-i"d:/somedir"
に渡す代わりに-i"/somedir"
)、同じファイルにドライブ文字が含まれません。 - "grovel.lisp" は UNIX インクルード ディレクトリをインクルードしようとします。
#2を自分で修正することはできません。このディスカッションを見つけ、リストされている両方のパッチを試しましたが、どちらも機能しませんでした。(最初のものは cffi を壊します。なぜなら、ccl は「namestring-prefix」関数も「pathname-prefix」関数も見つけられないからです)、2 番目のものは問題を解決しません。
この状況で何ができますか?「groveller」を自分で修正するのは避けたいと思います。freetype2 のバインディングが必要なだけです。基本的に、私はできる必要があります
- TrueType フォントをロードします。
- Unicode 文字をグリフにマップします。
- グリフのペアのカーニング情報を取得します。
- グリフ ビットマップを読み込みます。
何か案は?