2

私は、quicklisp がインストールされた clozure cl (バージョン 1.8-r15286m) を使用して Windows 7 64 ビット システムで作業しています。

Common Lisp 用の freetype2 バインディングが必要です。(文字をグリフにマップ + カーニング情報)

を使用して「cl-freetype2」をインストールしようとしました

(ql:quickload "cl-freetype")

32 ビット clozure cl から、いくつかの問題に遭遇しました。

  1. "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" に置き換えて修正しました。
  2. freetype2 の cffi バインディングをコンパイルしようとすると、インクルード ディレクトリをコンパイラに渡すときに (つまり、gcc`-i"d:/somedir"に渡す代わりに-i"/somedir")、同じファイルにドライブ文字が含まれません。
  3. "grovel.lisp" は UNIX インクルード ディレクトリをインクルードしようとします。

#2を自分で修正することはできません。このディスカッションを見つけ、リストされている両方のパッチを試しましたが、どちらも機能しませんでした。(最初のものは cffi を壊します。なぜなら、ccl は「namestring-prefix」関数も「pathname-prefix」関数も見つけられないからです)、2 番目のものは問題を解決しません。

この状況で何ができますか?「groveller」を自分で修正するのは避けたいと思います。freetype2 のバインディングが必要なだけです。基本的に、私はできる必要があります

  1. TrueType フォントをロードします。
  2. Unicode 文字をグリフにマップします。
  3. グリフのペアのカーニング情報を取得します。
  4. グリフ ビットマップを読み込みます。

何か案は?

4

1 に答える 1