WinDvi SDK Version 1.0
Copyright (C) 1996 Impress Corporation, Japan. All rights reserved.
'96/11/08
株式会社 インプレス
インプレスグループ・ラボ
WinDvi SDK は、
TeX の組版結果である DVI ファイルを解釈し、
Windows 上に表示するための API を提供するものです。
WinDvi SDK には、
DVI ファイルを表示するアプリケーションを開発するために必要なファイルと、
開発したアプリケーションを動作させるために必要なファイルが含まれます。
開発環境
WinDvi SDK を使用したアプリケーションを開発するために必要な環境は
以下の通りです。
- マイクロソフト Visual C++ 4.0 以上(言語はC)
- WinDvi SDKに含まれるインクルードファイル、LIBファイル
動作環境
WinDvi SDK を使用したアプリケーションを動作させるために必要な環境は
以下の通りです。
- Windows 95 以上
- TeX for Windows(CM-TrueType フォント)
- WinDvi SDKに含まれる DLL ファイル、DVG ファイル、DVX ファイル
WinDvi SDK を使用したアプリケーションの配布
WinDvi SDK を使用して開発したアプリケーションは
自由に配布してくださって結構ですが、
インプレス TeX for Windows係
に必ずご連絡ください。
なお、
WinDvi SDK を使用して開発したアプリケーションに添付する場合のみ、
WinDvi SDKに含まれる DLL ファイル、DVG ファイル、DVX ファイルの
再配布に許可はいりません。
WinDvi SDK の再配布
WinDvi SDK を再配布する場合は、事前に
インプレス TeX for Windows係
の許可を得てください。
ただし、
WinDvi SDK を使用して開発したアプリケーションに添付する場合のみ、
WinDvi SDKに含まれる DLL ファイル、DVG ファイル、DVX ファイルの
再配布に許可はいりません。
注意事項
株式会社インプレスは、WinDvi SDK に関して何ら保証はいたしません。
また、株式会社インプレスは、WinDvi SDK を使用したことによる
または使用できなかったことによる
直接的または間接的に生じた一切の損害について、
何ら責任を負わないものとします。
ダウンロード (WDSDK10.EXE, 235KB)
ダウンロードした WDSDK10.EXE を実行すると、
必要なファイルが展開されます。
各ファイルの使い方は以下を参照してください。
WinDvi SDK に関するご意見、ご要望がございましたら
インプレス TeX for Windows係
(wintex@impress.co.jp)
へE-mailをください
WinDvi SDK の提供する API は、
DVI ファイルの読み込みを行う DVIFile API と、
DVI ファイルの内容の表示を行う DVIScreen API に
分類できます。
DVIFile API は DVIF で始まる関数名を使い、
DVIScreen API は DVIX で始まる関数名を使っています。
DVIFile API および DVIScreen API を利用する手順を以下に示します。
- APIを使用する.Cファイルでdvifile.hとdviscrn.hを
インクルードします。
- dvifile.lib、dviscrn.libをリンクします。
- 実行時にはEXEファイルと同じディレクトリかWindowsディレクトリに、
dvifile.dll、
dviscrn.dll、truetype.dvg、bmpwmf.dvgが必要です。
DVIFile API は、DVIファイルの読み込みを制御します。
以下の関数を用意しています。
- DVIFopen
- DVI ファイルをオープンする
- DVIFclose
- DVI ファイルをクローズする
- DVIFnumpage
- DVI ファイルに含まれるページの数を調べる
- DVIFseek
- DVI ファイルのページ位置を変更する
DVI ファイルをオープンします。
文法
HDVIF DVIFopen(
char * filename, // ファイル名
int reserved // 予約済み(必ず 0)
);
引数
- filename
- DVI ファイル名へのポインタ。
- reserved
- 必ず 0 を指定してください。
戻り値
DVI ファイルのハンドルを返します。
このポインタを使って、DVI ファイルにアクセスします。
エラーのときは NULL を返します。
説明
HDVIF は DVI ファイルの様々な属性と、現在の読み取りページ位置を保
持しています。
ページ位置は、DVIXpage でページデータを読み込むごとに 1 つずつ進み、
DVIFseek で任意のページに変えることができます。
DVI ファイルをクローズします。
文法
int DVIFclose(
HDVIF dvifile // DVI ファイル
);
引数
- dvifile
- DVI ファイルのハンドル。
戻り値
エラーが起これば 0、正常終了なら 0 以外を返します。
DVI ファイルに含まれるページの数を調べます。
文法
int DVIFnumpage(
HDVIF dvifile // DVI ファイル
);
引数
- dvifile
- DVI ファイルのハンドル。
戻り値
総ページ数を返します。
DVI ファイルのページ位置を変更します。
文法
DVIPage * DVIFseek(
HDVIF dvifile, // DVI ファイル
int page, // 基準位置からの相対位置
int org // 基準位置
);
引数
- dvifile
- DVI ファイルのハンドル。
- page
- ページ位置を、org で指定する基準位置から DVI ファイルの先頭方向を
マイナス、後尾の方向をプラスのとする相対位置で指定します。
- org
- page の基準位置を指定します。
0 : DVI ファイルの先頭ページ
1 : 現在の読み取り位置
2 : DVI ファイルの最後のページ
戻り値
エラーが起これば NULL、正常終了なら NULL 以外を返します。
説明
org = 0 の場合、page の最大値は (DVIFnumpage(dvifile) - 1) になります。
DVIScreen API は、DVI ファイルの内容の表示を行います。
以下の関数を用意しています。
- DVIXopen
- DVI 表示バッファをオープン
- DVIXclose
- DVI 表示バッファをクローズ
- DVIXpage
- DVI 表示バッファに、1 ページ分のデータを読み込む
- DVIXregion
- DVI 表示バッファの、実描画領域を取得
- DVIXpaint
- DVI 表示バッファの内容をデバイスコンテキストに描画
DVI 表示バッファをオープン。
文法
HDVIX DVIXopen(
HDVIF dvifile // DVI 表示バッファの基準となる DVI ファイル
);
引数
- dvifile
- DVI 表示バッファに必要なメモリの量などを決定するために使用する
DVI ファイルを指定します。
戻り値
DVI 表示バッファのハンドルを返します。
エラーのときは NULL を返します。
説明
HDVIX は、DVI ファイルの内容をページ単位でバッファします。
DVI 表示バッファをクローズ。
文法
int DVIXclose(
HDVIX screen // DVI 表示バッファ
);
引数
- screen
- DVI 表示バッファのハンドル。
戻り値
エラーのときは 0、正常終了なら 0 以外を返します。
DVI 表示バッファに、1 ページ分のデータを読み込む。
文法
int DVIXpage(
HDVIX screen, // DVI 表示バッファ
HDVIF dvifile // DVI ファイル
);
引数
- screen
- DVI 表示バッファのハンドル。
- dvifile
- DVI ファイルのハンドル。
戻り値
エラーのときは 0、正常終了なら 0 以外を返します。
説明
dvifile のページ位置から、1 ページ分のデータを screen に読み込みます。
DVI 表示バッファの、実描画領域を取得。
文法
int DVIXregion(
HDVIX screen, // DVI 表示バッファ
long * x, long * y, // 描画領域の左上座標を返す
long * w, long * h // 描画領域の大きさを返す
);
引数
- screen
- DVI 表示バッファのハンドル。
- x, y, w, h
- 描画領域の位置と大きさを返す変数へのポインタです。
単位は 1/65536 ポイントです。
(72.27 ポイント = 1 インチ = 25.4 ミリメートル)
戻り値
エラーのときは 0、正常終了なら 0 以外を返します。
説明
screen に読み込まれているデータの実描画領域を返します。
DVI 表示バッファの内容をデバイスコンテキストに描画。
文法
DVIXpaint(
HDVIX screen, // DVI 表示バッファ
HDC hdc, // デバイスコンテキストハンドル
RECT * rect // DC 上の描画領域
);
引数
- screen
- DVI 表示バッファのハンドル。
- hdc
- デバイスコンテキストハンドル。
- rect
- 実際に描画するデバイスコンテキスト上の領域
説明
screen に読み込まれているデータの実描画領域が、rect で指定された
領域に収まるように描画します。