10月のカレンダー
    123
45678910
11121314151617
18192021222324
25262728293031
最近の日記
全体の新着
各月の日記
ユーザーRSS
hanyaさんの公開日記
11月17日
01:36
Math で STIXGeneral フォントを数式記号に使えるように、といじっていたときに、OpenSymbol との文字の対比表を作成することにしました。STIX フォントの配布パッケージに含まれているグリフ一覧の PDF ファイルと似たような形に Draw に作成することにしたわけです。

一文字につき枠、OpenSymbol フォントでの文字、STIXGeneral フォントでの文字、コードポイントを図形描写で描きます。3300 程度の文字数に対してマクロで処理してみました。
1ページ当たり 10 x 15 の 150 文字、図形描写 600 ケになります。

最初は OOo Basic で書いていたのですが、面倒になって Python で書き始めました。文字コードから文字に変換するためには unichr を利用します。しかし、利用しているオフィースの Python が UCS4 サポートでコンパイルされていないので 0x10000 を超える文字コードについては処理できません。OOo Basic の asc 関数も同じです。

最終的に C++ RPC で(マクロ?を)書くことにしました。コードポイントの処理は次のようにします。

sal_uInt32 vs[1];
vs[0] = 0x10A20
rtl::OUString v = OUString(vs, 1);

ここまではタイトルと関係はありません・・・。

さて、図形描写オブジェクトの挿入は普通の方法です。
図形描写オブジェクトのインスタンスを作成、ページに挿入した後でスタイルを設定します。Draw の graphic スタイルをマクロから作成する方法が分からないので、手作業で先に作成しておきました。
実行してみると、この挿入とスタイルの実行が非常に遅いです。速い PC ではないのですが、文字一つごとの処理がよーく見えます、大体200 msec くらいです。どうやら、図形描写オブジェクトがデフォルトの設定で挿入されてからスタイルが設定されるときのビューの更新のせいで遅い様子です。挿入前に図形の塗りつぶしと枠線のプロパティをスタイルと同じ透明にしておくと目に見えて早くなったようです。
コントローラをロックして変更ステータスの更新も無効にして 15 分くらいかかっていたものが 5 分くらいで終わるようになりました。

Math の書式 - フォントのメニューから数式シンボルの OpenSymbol フォントを自由に変更できるようにしてみました。が、STIXGeneral 1.0 に変更するとバランスがあんまりよくありませんでした。あんまり切り替えはよくありません。

ところで、STIX フォントはバージョン 1.1 ベータ が 12/1 まで公開されています。このバージョンでは MS Office の数式エディタで利用できるようにしたフォントが含まれているようです。
1.0 に加えて、同じフォントをまとめた STIX フォントおよび STIX Math フォントが追加されています。

コレを利用して、次のように設定してみました。
- 数式記号 STIX
- 変数 STIX Italic
- 関数 STIX
- 数字 STIX
- テキスト STIX
- Serif STIX
ギリシャ文字のカタログはコンフィグレーションで STIX に。
これで大体よくなりました。数式フォント以外はコンフィグレーションでデフォルトのフォントを指定できます。

書き始めるとなぜかいつも長くなってしまいます・・・。Hatena Diary の方でもいいんですが・・・。
公開日記トップへ
oooug-jp SNS

●サイドメニュー

  • 公開日記
  • >公開日記はログインしなくても読めます

http://www.ospn.jp/

inetd