HTML作成上の問題

YU Internet French Course を作成するうえで生じた主に技術的な問題について、以下では説明します。語学学習用のホームページであるうえに、特にフランス語を使用することからくる一連の困難な問題がありました。後者については、これからのブラウザーのヴァージョン・アップに期待せざるをえないものもありますが、とりあえず考えられる解決法を説明します。
活字媒体と異なりホームページはたえず更新が可能ですから、常により高いレベルのものを求め続けるとしたらホームページには完成ということがありません。YU Internet French Course も現段階では試験運転中であり、いまだに技術的な問題で解決途上のものがあることをお断りしておきます。


ソフトウェア

HTML とはHyper Text Markup Language の略であり、インターネットのいわゆるWeb ページの作成に一般的に使用される言語です。後で例を紹介しますが、タグとよばれる機能付加のマークをテキスト上にちりばめ、Web ページの主にレイアウト関係を指示します。HTMLはページの外観を主に処理するので直感的に理解しやすいコンピュータ言語ということができます。ワープロやエディターを使い、タグのレフェランス・ブックを片手に打ち込んでも2,3日でHTMLの基本は理解できるでしょう。しかも、最近ではHTML作成エディタも数多く市販され、ものによってはWYSISWYG(作成用エディタの画面と出来上がりの画面とが極めて近い状態)でホームページができてしまうものまであります。

本ホームページ作成にあたっては、はじめの段階ではHTML作成エディタを用いましたが、作成のほとんどの過程はワープロ(Nisus Writer)、エディタ(Simple Text, Edit7)でおこないました。Nisus Writer はHTMLのタグを打ち込むためのマクロや特殊文字変換のマクロがついており、特にフランス語でのHTML作成には大変便利です。

ホームページ作成ではすでに公開されている数多のホームページがお手本になります。目にも鮮やかなものから、地味な中にも味わいのあるものまで実に様々ですが、ホームページの用途や自分の趣味に合うものを探し、刺激を受けると同時に部分的に模倣して、ホームページの外観や構成をよりよいものにしていくことになります。公開されているホームページのカラーやレイアウトで気に入ったものがあれば、そのページのソースを調べます。ソースを調べるには、Netscape Navigator の場合ではプルダウン・メニューの「表示」より「文書のソース」を選びます(フレームが使われている場合は「フレームのソース」)。本稿で使っている Java Script についても同様に確認できます。ちなみに「文書情報」にはページを構成するエレメント(フレーム、画像、サウンドなど)のリストがあらわれますからページ構成の全体がわかります。





フランス語のアクセントとその表示

フランス語には5種類のアクセント記号があります。

Accent aigu (ex) lphant
Accent grave , , (ex) pre
Accent circonflexe , , , , (ex) htel
Tr士a , , (ex) haku
C仕ille (ex) a

従来の問題はこれらのアクセント記号のついた文字が、HTMLではすべて特殊記号として扱われる点でした。その結果、例えば accent aigu のついた e は、é と書かなければ適切に表示されないことになったのです。以下にアクセント記号のつく文字の記述方法を示します(太字がアクセント記号がつく母音です)。

Accent aigu é
Accent grave à
è
ù
Accent circonflexe â
ê
î
ô
û
Trema ë, ï, ü
Cedille ç

しかも、フランス語ではアクセント記号が頻繁に使われます。 HTMLでフランス語を書く場合に以上のようなアクセント・コードをいちいち書き加えていたのでは大変です。どうしたらよいでしょうか。
まず考えられることはワープロやエディタの検索・置換機能を使うことです。一文字ずつ打ち込むよりはフランス語をふつうに打って、後でまとめてコード変換する方が確かに楽です。しかし、この方法でも上の表のように13種類の文字について変換しなければならずやはり作業としては大変です。
もう一つの解決方法は高機能ワープロなどについているマクロを使うことです。例えば、Nisus Writer (5.04J 以降のバージョン)には HTML専用のマクロがついており、その中に「特殊文字の変換」というマクロがありますから、それを使えば作業効率が格段にあがります。もちろん自分でも作ることができます(注1)。

アクセント付き文字の問題はすべてこれで解決したわけではありません。
まず問題になるのは以上の特殊文字変換をおこなっても、同じページ上にフランス語と日本語を混在させることができない点です。これを解決する方法として、どちらか(あるいは両方)を gif イメージにおとすというやり方があります。

例:夏のことをフランス語ではと言います。(この例ではフランス語が gif イメージ)

ただし、新しいヴァージョンのブラウザー(Netscape Navigator 3.0, Internet Explorer 4.0 以降)では<font face>というタグがあり、これで欧文フォントを指定すると日本語環境でありながらアクセント付き文字の表示が可能となりました。しかも、この場合は上述のコード変換が必ずしも必要ではありません。したがって、同じページ内に日本語とフランス語を混在させるのにもっともよい方法はこのタグを用い、例えば、Windows や Macintosh の定番欧文フォントを指定することです。
例:<font face="Arial, Geneva, Helvetica">C'師ait un dr冤e d'師.</font>

もう一つの大きな問題は、フォームを使用した場合、 gif イメージはもちろんですが、上で述べたコード変換が使えない点です。解答チェック用の if 構文は HTML で書かなければならない一方で、フォーム入力されたフランス語をHTML に自動変換するメソッドが Java Script にはないからです。自動解答システムがフランス語入力で機能しないのでは大変困ります。
最も単純な解決方法はアクセント付きのフランス語を入力しないで済ませる問題を用意することです。しかし、これは姑息な手段であり、フランス語学習教材としてはあまりにも大きな限界を抱え込むことになります。
もう一つの解決方法は Java Script の escape メソッドを使って、フォーム入力されたフランス語をアスキーコード(ISO Latin 1)に変換するというものです。これならば、正解の方もあらかじめアスキーコードにしておけば、 if 構文による比較が可能になります(フレーム・デモ3参照)。 ただし、この操作はNetscape Navigator 3.0では有効ですが、Internet Explorer 4.0では機能しません。
あるいはもっと単純に Java Script 内の正解も、フォーム入力するフランス語もともにアクセント付きでそのまま用いるという手があります。実はこれがベストでしょう。少なくともInternet Explorer 4.0では文字セットを欧文にしても、日本語にしてもともにうまく機能します(フレーム・デモ4参照)。ただし、Netscape Navigator 3.0では文字コードを日本語にしないとうまくいかないようです。

自動解答システムでのフランス語入力処理がこれですべてうまくゆくわけではありません。特に日本語にローカライズされたブラウザーでは、フォーム入力されたフランス語をそのまま別フレームに表示すると文字化けが起こるなど問題が残ります。これからのブラウザーやJava Script の発展に期待せざるをえません。





ハイパーテキスト

ホームページにハイパーテキスト性を加えるには主に次のやり方があります。
  1. 同一ページでジャンプ、または他のページへリンクをはる
  2. フレームごとにリンクをはる
  3. サイト内ハイパーリンク構築

1)同一ページジャンプ、または他のページへリンクをはる

目次や項目リストから一挙にその本文にジャンプさせるというのがふつうの使い方です。この他、脚注へジャンプさせるときにも使うことができます(脚注の例)。
フランス語学習のホームページでは特に次のような利用法が考えられます。
すでに申しましたように、フランス語のページでは文字コードとして Latin 1 を選ぶためフランス語と英語しか表示できず、同一ページに日本語とアクセント付きのフランス語を混在させることができません。これは入門段階では困った事態です。簡単な説明はやはり日本語で残したいところです。gif イメージの利用とは別に、苦肉の策として考えられるのはフランス語のページに平行して日本語の解説ページをつくることです。この場合、日本語ページとフランス語ページを同時に開かせるためにはリンク先にターゲット指定(<a href="t.html" target=X>〜</a>:X には_blank、もしくは任意の名前が入ります)を加える必要があります。
他のサイトへリンクをはるのもやり方は全く同じです。ただし、先にも述べたように後者の場合、閉じられたテキスト空間が一挙に広大なサーバーテキスト空間へと拡がるわけですからインパクトとしては大きなものが期待できます。

2)フレームごとにリンクをはる

フレーム分割によるページ作りの細かい点についてはここではふれませんが、ページ構成についてだけ簡単に説明します。例えば、A,B,Cの三つのフレームからなるページ Lesson 1 を作る場合を考えましょう。このためには A.html, B.html, C.html の三ページを個別に作るほかにフレーム分割のレイアウトを指定するページ(仮に lesson1.html と名付けます)が必要になります(注2)。ここでAが Lesson 1 以降も共通に使われるタイトル用のフレームでしたら、後続のフレーム分割指定ページ(lesson2.html など)で A.htmlをそのつど指定すればそれで済みます。また、あるフレームの表示内容を他のフレームのリンクから自由に指定できますから、例えばCフレームのリンクを利用して学習者が必要に応じてBフレームに動詞の活用表を表示させたり、語彙の説明を呼び出すことができることになります。
YU Internet French Course の語彙集では日本語の説明はなく、英語の類語を載せるだけにとどめてあります。これは現段階でのブラウザーではたとえ別フレームであっても日本語とフランス語の混在表示ができないためです(初級コース第2課、lexique : profession 部分を押してみてください)。

なお、他のサイトのページをこちらのフレームの一つに呼び出すことも同様にすればできますが、この場合は無断引用に当たりますので問題が残ります。やはり、他サイトへのリンクはページ全体でおこなうべきでしょう。なお、現在開いているページを維持したままでリンク先をそれとは別の新しいページに呼び出すためにはすでにのべたようにターゲットを指定します。


3)サイト内ハイパーリンク構築

一貫したサイト内ハイパーリンクを構築するためには、サイト全体のアーキテクチャーがしっかり把握できている必要があります。YU Internet French Courseの構造を例にとりましょう。階層の最上位に index.html (日本語版)とindex_e.html (英語版)がきます。
サイトのいわば正門がindex.html ですから、ここに階層上で次位にくるすべてのグループ(例えば、第1章〜第X章)へリンクをはることになります。さらに特に見てもらいたいページがあれば階層を飛び越えてリンクしても構いません。
本サイトではindex.html の下に八つの下位グループ(フォルダー)を用意しました。

フォルダーとしてはこの他に画像や音声資料を入れておく専用フォルダーも用意してありますが、これはアーキテクチャー上はあくまでも資料庫にすぎません。階層構造としてこのように明確なものを考えれば、後は楽です。
八つのフォルダーの中には各々最上位のファイルとしてやはり index.html、index_e.html が配されています。つまり、サイト最上位のindex.html で例えば初級コースを選んだ場合、elementary という名のフォルダー内にあるindex.html にひとまず行くようにするわけです。ここからさらに下位のページに降りてゆくことになります。いずれにしても、上の八つのカテゴリーがサイトの基本的な枠組みとなりますから、どのページからでもこれらのカテゴリーに行けるようにリンクを張っておいた方がよいでしょう(注3)。
前のページへもどる
最初のページへもどる

Page created: 97.12.2 Last modified: 98.1.15 By morita (morita@kkb.yamanashi.ac.jp)













































注1

Nisus Writer 付属のマクロではアクセント付きの文字を HTML用に変換することはできますが、その逆の作業はできません。次のようなマクロを作れば、これが可能となります(下の表ではアクセント付きの母音字を表示できませんので、便宜的に accent aigu 付きの e を e=aigu という風に示します。実際にNisus Writer 用マクロを作るときはその点にご注意願います。)

検索・置換... "&eacute;" "e=aigu" "-Siatt"
検索・置換... "&egrave;" "e=grave" "-Siatt"
検索・置換... "&agrave;" "a=grave" "-Siatt"
検索・置換... "&ugrave;" "u=grave" "-Siat"
検索・置換... "&ecirc;" "e=circonflexe" "-Siat"
検索・置換... "&icirc;" "i=circonflexe" "-Siat"
検索・置換... "&ocirc;" "o=circonflexe" "-Siat"
検索・置換... "&acirc;" "a=circonflexe" "-Siat"
検索・置換... "&ucirc;" "u=circonflexe" "-Siat"
検索・置換... "&euml;" "e=trema" "-Siat"
検索・置換... "&iuml;" "i=trema" "-Siat"
検索・置換... "&uuml;" "u=trema" "-Siat"
検索・置換... "&ccedil;" "c=cedille" "-Siat"

本文にもどる












































脚注の例

本文にもどる














































注2

以下はレイアウト指定ページの例です。

<HTML>
<HEAD>
<TITLE>lesson1</TITLE>
</HEAD>
<FRAMESET ROWS="80,*">
<FRAME SRC="A.html" NAME="a" SCROLLING = no noresize>
<FRAMESET COLS="200,*">
 <FRAME SRC="B.html" NAME="b">
<FRAME SRC="C.html" NAME="c" SCROLLING = auto>
</FRAMESET>
</HTML>

本文にもどる












































注3: 各ページのヘッド部分かフット部分につけるサイト内リンクの例を以下に示します(この例は「初級」ページにおくリンクですから、当然ながら自ページへのリンクは張られていません)。

| <a href=../index.html target="_top">ホーム</a> | 初級 | <a href=../grammar/index.html target="_top">文法</a> | <a href=../lexique/index.html target="_top">語彙</a> | <a href=../quiz/index.html target="_top">クイズ</a> | <a href=../intermediate/index.html target="_top">中級</a> | <a href=../advanced/index.html target="_top">上級</a> | <a href=../password/index.html target="_top">登録者</a> | <a href=../roleplay/index.html target="_top">ロールプレイ</a> |

本文にもどる