HTMLと漢字
何故htmlにはlang属性が必要なのか?

id:Songmu <y.songmu@gmail.com
1000speakers #5 2008-5-24

自己紹介

名前
Songmu
http://songmu.jp/
身分
システム管理者
 なんちゃってCTO
 赤魔道師
 雑用係
使える言語
  • HTML+CSS+(Javascript)
  • VBScript+MSSQLでレガシーASP
  • Perl(勉強中)
  •  JAVA, Pascal, BASIC, prolog…
  • 中国語

HTMLにはlang属性が必要

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
	<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
	<meta http-equiv="Content-Language-Type" content="ja,zh" />
...

lang属性の指定による違い

<dl class="demo">
	<dt>日本語</dt>
	<dd>了解</dd>
	<dt>中国語</dt>
	<dd lang="zh-cn" xml:lang="zh-cn">了解</dd>
</dl>

多言語とアクセシビリティ

現状のUnicodeの問題点

日本語と中国語(簡体字)

日本語 中文
同じ意味,違うコード,違う字形
同じ意味,違うコード,違う字形
(ただし几は別の意味で使うことが多い)
同じ意味,同じコード,違う字形
同じ意味,違うコード,違う字形

異体字とフォント

アプローチ

漢字は増え続けている!

meitnerium  meitnerium

CSS3でのフォント埋込

<style type="text/css">
@font-face{
	font-family: genso;
	src: url('font/genso.ttf') format("truetype");
}
@font-face{
	font-family: koukotsu;
	src: url('font/koukotsu.otf') format("opentype");
}
.genso   {font-family: genso;}
.koukotsu{font-family: koukotsu}
</style>
</head>
<body style="font-size:800%;text-align:center;">
	<div>                 &#xE005;&#xE006;&#xE007;&#xE008;&#xE009;</div>
	<div class="koukotsu">&#xE005;&#xE006;&#xE007;&#xE008;&#xE009;</div>
	<div class="genso">   &#xE005;&#xE006;&#xE007;&#xE008;&#xE009;</div>

DEMO(safariのみ動作)

Rubyの話

まとめ

  1. htmlにlang属性は必要
  2. Unicodeは課題多し
  3. グリフウィキを使ってみよう!
  4. @font-face使えばhtmlでもフォント埋め込めるよ!
  5. rubyタグは普及して欲しいけど、実装が…

たまには漢字のことも思い出してやってください

参考

漢字フォント自動生成技術フォーラム
http://fonts.jp/
グリフウィキ
http://glyphwiki.org/
Kanji Database Project (漢字データベース計画)
http://kanji-database.sourceforge.net/
W3C
http://www.w3.org/
The Periodic Table of Chemical Elements
http://www.sungwh.freeserve.co.uk/perdtabl.htm
CJKV日中関越情報処理 Ken Lunde著 オライリージャパン

謝辞

こういう機会を設けてくださりありがとうございました!

谢谢!

id:Songmu <y.songmu@gmail.com