マークアップ言語

文書の効果を tag と呼ばれる文字列で囲って示す記述言語である。 文書の効果には、文書の見出し、リンク、大きさや位置などが含まれる。

マークアップ言語は、テキストファイルであるため、 テキストエディタを用いて読み書きができる。

SGML (Standard Generalized Markup Language)
マークアップ言語の論理構造、意味構造を作った言語
TeX
Donald E. Knuth が開発した組版ソフトウェア

SGML では DTD (Document Type Definition) に構造や属性を記述するきまりになっている。

SGML からはさらに、Web ブラウザのために開発が進んだ HTML (HyperText Markup Language) や XML が派生した。HTML や XML は DTD を用いる必要がない。XML は表計算にも用いられはじめている。OpenOffice Calc では、XML へ変換ができる。

TeX は、LaTeX, AMS-TeX などと機能が強化され、 また近年はそれらの機能強化した TeX たちを統合した teTeX が UNIX のソフトウェアとして知られている。 日本語用には pTeX, pLaTeX があるが、 これらも日本語化がボランティアによって teTeX に統合されている。

マークアップ言語が目指すもの

Text ファイルとは、見たままの文字がそのまま読めるファイルのことである。 OS によらず、共通に利用できるファイル形式である。 Text ファイルを編集できるエディタ (文書作成ソフト) を、 テキストエディタと呼ぶ。本学では Emacs を使用している。

HTML や LaTeX は、マークアップ言語と呼ばれる。 テキスト形式に、文書の効果を示す Tag と呼ばれる文字列で囲んでをつけてあらわし、 テキストエディタを用いて編集することができる言語をマークアップ言語と呼ぶ。

ブラウザエディタで作成したファイルを Emacs や Windows のメモ帳で見てみると、リテラシーで学んだ HTML ファイルであることがわかる。

SGML 言語

マークアップ言語のうち、

<文書への効果>本文</文書への効果>

という文法を保つ約束で文書への効果を開発していった言語を SGML (Standard Generalised Mark-up Language) という。

HTML では、SGML で作られた規格をもとに、Web ブラウジング (browsing) を目的とし、言語を作っていった。 しかしベンダなどの開発団体がブラウザごとにさまざまな Tag を開発し規格化したために、 一時期はブラウザごとに HTML ファイルの見え方が異なる自体になった。

W3C (The World Wide Web Consorthium) という Web のスペック(仕様)、 ガイドライン、 ソフトウェアおよびツールに関する規格化を行う団体がある。 彼らが中心になり HTML の規格化を行い、現在は HTML そのものでは文書の論理構成のみを取り扱うようにし、見映えは CSS を用いて表現するように改正された。

一方、SGML 規格を緩やかに取り入れた XML という規格が、 出納などの数値データを扱うソフトウェアに使用されるようになってきた。 今後は表計算をやりとりする言語は XML であると見込まれている。

現在は、XML に準拠した HTML の規格を W3C が作っており それは XHTML と呼ばれるが、XHTML は 2009 年秋に開発停止が宣言された。 今後は Web ページが HTML5 で開発される環境に絞られることになった。

HTML5 では、XML も MathML(数式を扱う) も SVG(画像を扱う) も 可能となる規格とするよう、細かな制定が進んでいる。

ブラウザの発展も目覚ましく、Firefox や Opera、Google Chrome、Safari など、 古い規格も新しい規格も読めるよう設計してあるものがほとんどであり、 正しい Web 文書を作るためのユーザの努力はどうなるのか、 時間が経過するにつれ決まっていくものと思われる。

読み上げソフト

目で情報を得ることが困難な人がインターネットを用いて情報を得る場合、 読み上げソフトを用いる。

Text ファイルの読み上げができるソフトウェアは、利益が見込まれるため、 一般にはとても高価である。福祉系教員によると業務用は本学にはないとのこと (2006 年度現在)。

WebUD on asahi.com

朝日新聞が WebUD という読み上げソフトを開発し 、 ホームページの仕様自体も読み上げソフト使用可能な Web ページに変更した。 多少の読み間違いなどはあると断わっているが、 悪くはない。PDF ファイルも読めるとのことである。

CSS と HTML

ホームページソースによる読み上げの違いを見てみよう。

今では少なくなったが、 ホームページに直接効果を書き込むことができることを利用して書かれた、 (legend という) ホームページを読み上げソフトで読み上げることを考える。

legend とは、伝説の意味である。 legend のホームページ例 1 legend のホームページ例 2

また、本学で学ぶ、CSS を使った例も見てみよう。 CSS を使用したホームページ例

Ctrl-U を押して、ソースの違いを見てみよう。

HTML ファイルの進化

読み上げソフトにも対応できるよう定義した HTML は CSS(Cascading Style Sheet) と呼ばれる。

CSS では、body の中になるべく文字効果を書かないようにすることを、 規則化している。 文字などの効果は、項目で括るように作られてある。 したがって、いっせいに色を変えたりすることができる。

例えば赤の見分けがつきにくい場合には、 css で定義したグループの中で色を変えればよい。 css の定義の中で、 red から blue に変えると、赤いフィルターを通しても、 全ての red を一度に blue に変更して、読むことができる。 legend の場合は、font タグの中の色をひとつひとつ変更していかなければならない。

ホームページの種類

legend のホームページ例 1 legend のホームページ例 2 CSS を使用したホームページ例

三角関数の合成

三角関数の合成の公式を書き下せ。 2 つの値 (x,y や A, B)をいれると、 合成の値を公式の右辺で計算したものと、 左辺の値で計算したものを調べるプログラム merge.rb を作成せよ。

Calc で計算させて確かめてみよ。

素数のもとめかた

暗号に必要な素数について調べておこう。 素数 prime number とは、1 とそれ自身でしか割り切れない数のことである。 dtd_primenumber.rb

#!/usr/koeki/bin/ruby
# -*- coding: euc-jp -*-

def primeno(m)
  pn = [2, 3]  # 素数は 2 から開始
  flag = 0
  3.step(m, 2){|l|
    2.upto(Math.sqrt(l).to_i){|i|
      flag = 1
      if (l.divmod(i)[1] == 0)
        flag = 0
        break
      end    
    }
    unless flag == 0
      pn << l
    end
  }
  return pn  # 素数の配列を返す
end

k = 1000
printf("%d までの素数: ", k)
prime = primeno(k)
prime.each{|i|
  printf("%4s", i)
}
printf("\n素数の数 %d 個\n", prime.length)

辞書をつくろう

読み上げソフトの真似をしよう。 まずは全ての単語を平仮名に変換する辞書をつくろう。

正規表現で作っていくので、まずは熟語を予め登録することになる。 おくりがなのついている文字がその後になる。

連立方程式と行列

行列の方法から連立方程式の解を求めよう。

プログラムで HTML 文書を取りこもう

open-uri を使って、HTML を表示させることができる。 プログラム

PDF をテキストファイルに

表や記入欄があるとかなりおかしくはなるが、 読み上げ対応 / 点字対応にさせることは可能である。

pdftotext を使うと自動的に ファイル名.txt をつくる。

読み上げ対応 / 点字対応にさせた プログラム