|
|
3行: |
3行: |
| | | |
| == '''概要''' == | | == '''概要''' == |
− | この記事はFreeTypeを使うであって、FreeTypeをまとめる記事ではないです。なので遊び場程度の記事になります。遊べるかは謎です。Font情報をどれくらい操作できるのか試してみるところです。目標はPDFを作るためのグリフ番号取得と、フォントプログラムの再構成。サブセットフォントを作るということです。
| |
− |
| |
− |
| |
− | そこまですることなんか?とは思っています。フォントの構造を知ることに重きを置きながらがんばります。
| |
− |
| |
− |
| |
− | まずはコンソールプログラムでチュートリアルっぽいことを。
| |
− |
| |
− |
| |
− | ってチュートリアルのとおり、作り始めたらQt64bitコンソールアプリケーションを作ってるせいで、64bitのライブラリが必要になってしまった。開発時にダイナミックリンクを使うと勉強の質が低下してしまうので、64bit32bit混在で動かすわけにもいかず、似非64bitのfreetypeライブラリを作成するために、libpngで似非64bitプラットフォームを作成した。似非というのは、何もプログラムを変更しないで、ただ64bit宣言するだけのことです。bit演算が凄まじいアプリケーション群なので、これが原因でアドレスの使い方が変わってバグる可能性はあるが、莫大なコードを目の前に、全てを潰していくのはサハラ砂漠にダイアモンドを埋めたのを探すようなモノ。無謀な道とは知りつつ、しばらく、これで突き進む。
| |
− |
| |
− |
| |
− | ちな
| |
− |
| |
− |
| |
− | 似非を作るには[[VC PlusPlus:似非64bitプラットフォームの追加|コチラ]]の手順として記載。
| |
− |
| |
− |
| |
− | Qtコンソールプログラムの書き始めは以下のような状態。Qtについては、Qt導入の記事をみて下さい。なんでQtなん?って思う人いるとおもいますけど、さほどQtの要素は使わないので、安心して下さい。Qtやってるっていう見せかけですよ。
| |
− | <Syntaxhighlight2 lang="cpp">
| |
− | #include <QtCore/QCoreApplication>
| |
− |
| |
− | int main(int argc, char *argv[])
| |
− | {
| |
− | QCoreApplication a(argc, argv);
| |
− |
| |
− |
| |
− |
| |
− | return a.exec();
| |
− | }
| |
− |
| |
− | </Syntaxhighlight2>
| |
− |
| |
− | 自分は64bit版ですが、64bit版を生成するのが面倒な人はQtの32bit版のLibraryを導入して新規作成するとよいね。Qtの64bit版を使ってるつもりで説明します。ところどころ32bit版の人向けのコメントも添えます。
| |
− |
| |
− |
| |
− | まずはプロジェクトの設定を変えて、freetypeが使える状態にします。
| |
− |
| |
− |
| |
− | インクルードファイルのありかを設定します。ライブラリを使うときはまずはヘッダファイルで関数の全ての情報が必要です。標準関数でさえ#include <stdio.h>って設定するもんね。同じこと。
| |
− |
| |
− |
| |
− | ソリューション構成をDebug、ソリューションプラットフォームをx64<span>(</span>32bitに人はWin32<span>)</span>に設定します。ツールバーのリストを選ぶところですね。次に、メニューの[プロジェクト]-[プロパティ]を選択します。
| |
− |
| |
− |
| |
− | [VC++ディレクトリ]の項目の中の[外部インクルードディレクトリ]に以下を追加します。
| |
− |
| |
− |
| |
− | C:\…\…\…\…\freetype-2.9.1\include
| |
− |
| |
− |
| |
− |
| |
− | [VC++ディレクトリ]の項目の中の[ライブラリディレクトリ]に以下を追加します。
| |
− |
| |
− |
| |
− | C:\…\…\…\…\freetype-2.9.1\objs\x64\Debug
| |
− |
| |
− |
| |
− | 絶対パスなので、…の部分はそれぞれの、freetypeの配置した場所に、freetype-2.9.1となっているところもそれぞれのバージョン番号だったり、名前を変えてfreetypeにしたりしてる場合も合わせて下さい。64bitの場合はx64ですが、32bitのQtアプリの場合はx64ではなくWin32です。
| |
− |
| |
− |
| |
− | 構成のRelease版も合わせて変更しておくとよいでしょう。インクルードディレクトリは同じで、ライブラリディレクトリはDebugがReleaseに代わります。
| |
− |
| |
− |
| |
− | 実際にデバッグでもなんでもテストでアプリを動かす時は、ダイナミックリンクライブラリを使うので、dllをがうごかせるように実行ファイルと同じディレクトリ置くとか、環境変数のPathの参照可能な範囲に配置する指定をしないと駄目です。プロジェクトごとにどの環境で動かすのかを見極めて環境変数の設定しないとだめです。プログラマなら実行ファイルが完成するまではDebug版のダイナミックリンクライブラリを使うはずなので、環境変数Pathにfreetype.libのx64 <span>(</span>Win32をQtアプリの人はWin32<span>)</span> ぷr
| |
− | purakdaprafkdafjafjd;ajfkdlajfdkladfjadkfjdlfjdklfjlajff''' ==
| |
| この記事はFreeTypeを使うであって、FreeTypeをまとめる記事ではないです。なので遊び場程度の記事になります。遊べるかは謎です。Font情報をどれくらい操作できるのか試してみるところです。目標はPDFを作るためのグリフ番号取得と、フォントプログラムの再構成。サブセットフォントを作るということです。 | | この記事はFreeTypeを使うであって、FreeTypeをまとめる記事ではないです。なので遊び場程度の記事になります。遊べるかは謎です。Font情報をどれくらい操作できるのか試してみるところです。目標はPDFを作るためのグリフ番号取得と、フォントプログラムの再構成。サブセットフォントを作るということです。 |
| | | |