ファクシミリ記述の意義

デジタルヒューマニティーズにおいて、テキストのエンコーディングと原資料の画像を連携させることは極めて重要です。テキストだけでは伝えきれない筆跡、レイアウト、装飾、損傷の状態など、視覚的な情報は研究において不可欠です。

TEIは <facsimile> 要素を中心として、原資料の画像とテキストの対応関係を構造的に記述するための仕組みを提供しています。さらに近年では、IIIF(International Image Interoperability Framework)との連携により、外部の画像配信サーバから提供される高解像度画像をTEIドキュメント内で参照するアプローチが広がっています。

筆者はTEIとIIIFの連携に関して多くの記事を執筆しています。IIIFマニフェストファイルからTEIのfacsimile要素を作成するプログラムを作成しました。では、IIIFマニフェストからTEIの<facsimile>要素を自動生成するプログラムを紹介しました。また、IIIF Curation ListをTEIのfacsimile要素に変換するでは、IIIF Curation Listを出発点としたファクシミリ記述の作成方法を解説しています。

facsimile要素の基本構造

<facsimile> 要素は <teiHeader><text> の間に配置され、原資料の画像構造を記述します。

<TEI xmlns="http://www.tei-c.org/ns/1.0">
  <teiHeader>...</teiHeader>
  <facsimile>
    <!-- 画像の構造記述 -->
  </facsimile>
  <text>...</text>
</TEI>

surface(面)

<surface> は原資料の一つの物理的な面(ページ、葉の表裏など)を表します。

<facsimile>
  <surface xml:id="surf_1r" n="1r">
    <graphic url="images/folio_1r.jpg"
             width="3000px" height="4000px"/>
  </surface>
  <surface xml:id="surf_1v" n="1v">
    <graphic url="images/folio_1v.jpg"
             width="3000px" height="4000px"/>
  </surface>
</facsimile>

zone(領域)

<zone><surface> 内の特定の領域を定義します。

<surface xml:id="surf_1r" n="1r">
  <graphic url="images/folio_1r.jpg"
           width="3000px" height="4000px"/>
  <zone xml:id="zone_1r_line1"
        ulx="200" uly="100" lrx="2800" lry="250"/>
  <zone xml:id="zone_1r_line2"
        ulx="200" uly="260" lrx="2800" lry="410"/>
</surface>

座標は ulx(左上X)、uly(左上Y)、lrx(右下X)、lry(右下Y)の4つの属性で矩形を指定します。

多角形アノテーション

矩形だけでなく、多角形の領域を記述することもできます。筆者はIIIFの多角形アノテーションをTEI/XMLで表現する一例で、SVGの座標を使ってTEI/XMLで多角形領域を表現する方法を紹介しています。また、IIIF画像に対する多角形アノテーション支援ツールの改修では、アノテーションツールの改修について報告しています。

テキストと画像の対応付け

facs属性による参照

テキスト要素から <surface><zone> への参照は、facs 属性で行います。

<!-- facsimile部分 -->
<facsimile>
  <surface xml:id="surf_1r" n="1r">
    <graphic url="images/folio_1r.jpg"/>
    <zone xml:id="z_1r_l1" ulx="200" uly="100" lrx="2800" lry="250"/>
    <zone xml:id="z_1r_l2" ulx="200" uly="260" lrx="2800" lry="410"/>
  </surface>
</facsimile>

<!-- text部分 -->
<text>
  <body>
    <pb n="1r" facs="#surf_1r"/>
    <p>
      <lb n="1" facs="#z_1r_l1"/>ゆく河の流れは絶えずして、
      <lb n="2" facs="#z_1r_l2"/>しかももとの水にあらず。
    </p>
  </body>
</text>

IIIFとの連携

IIIF Image APIの活用

IIIFのImage APIに準拠した画像サーバを使用する場合、<graphic>url 属性にIIIF Image APIのURLを指定できます。

<surface xml:id="surf_1r" n="1r">
  <graphic
    url="https://example.org/iiif/ms123-001/full/max/0/default.jpg"
    mimeType="image/jpeg"/>
</surface>

IIIF Presentation APIとの対応

IIIF Presentation APIのマニフェストとTEIの <facsimile> は、類似した構造を持っています。

IIIF Presentation APITEI
Manifest<facsimile>
Canvas<surface>
Annotation (painting)<graphic>
Fragment selector<zone>

筆者はIIIFマニフェストファイルからTEIのfacsimile要素を作成するプログラムを作成しました。で、この対応関係を利用してIIIFマニフェストからTEIの<facsimile>を自動生成するプログラムを紹介しています。

ODDによるファクシミリ記述の制約

プロジェクトに応じたファクシミリ記述のルールをODDで定義することができます。筆者はTEI ODDによるIIIF対応ファクシミリ記述の制約設計で、IIIF対応のファクシミリ記述をODDで制約する方法を詳しく解説しています。

CETEIceanとMiradorによる対照表示

TEIテキストと画像を対照表示するためのアプローチとして、CETEIceanとMiradorの組み合わせがあります。筆者はMiradorで画像を表示し、CETEIceanでテキストを表示するサンプルアプリで、この組み合わせの実装例を紹介しました。Miradorは IIIF対応の画像ビューアであり、CETEIceanはTEI/XMLをブラウザ上でレンダリングするライブラリです。両者を組み合わせることで、画像とテキストを並べて表示するビューアを構築できます。

さらに、XSLTを使ってIIIFとTEIの対照表示を実現するでは、XSLTを使った別のアプローチも紹介しています。

画像ビューアの開発

筆者は画像ビューアの開発にも取り組んでいます。

TEIビューアでの利用を想定したCustom OpenSegDragon Viewerを作成しました。では、OpenSeadragonをベースにしたカスタム画像ビューアを開発しました。TEIの<facsimile>情報と連携した画像表示を実現しています。

Next.jsを用いたTEI/XMLファイルの簡易ビューアを作成しましたでは、Next.jsとIIIFを組み合わせたTEIビューアを作成しています。

LEAF Writer: Image Viewerの使い方では、LEAF WriterのImage Viewer機能を使って、TEI/XMLの編集中にIIIF画像を参照する方法を紹介しています。

LEAF Writer: Miradorを追加するでは、LEAF WriterにMiradorビューアを統合する方法を解説しています。

OCRからの画像-テキスト連携

OCR処理の結果を<facsimile>の座標情報と結びつけることで、画像上のどの位置にどのテキストがあるかを記録できます。

筆者は以下の記事でOCR結果をTEI/XMLに統合する方法を紹介しています。

Oxygen XML Editorのイメージマップエディタの使用例では、Oxygen XML Editorのイメージマップエディタを使って、画像上の領域をGUIで指定してTEIの<zone>要素を生成する方法を紹介しています。

まとめ

本章では、TEIの <facsimile> 要素を中心に、原資料の画像とテキストの対応関係を記述する方法を学びました。<surface> によるページの定義、<zone> による領域の指定、facs 属性によるテキストからの参照、そしてIIIFとの連携について解説しました。

筆者が実践してきたように、IIIFマニフェストからの<facsimile>自動生成、CETEIceanとMiradorによる対照表示、OCR結果の統合など、テキスト-画像連携には多くの実践的なアプローチがあります。

次章では、TEIドキュメントの作成・編集・変換に使えるツール群を紹介します。

関連記事