日本 イ ソ 株式会社
田丸健 郎
JEPA #11 EPUB ~ EPUB3 文 ~ 2012/7/24
符号化文 集合 重要性
文 歴史 イ ソ
符号化文 集合 符号化方式
規格 歴史
JIS 符号化方式
Unicode 符号化方式
表示 永続性問題 い
Office 2007/2010 & Unicode IVS
安定 符号化文 集合
ICT 機器間 相互運
用性確保 根幹 基
本要件 一
Intel Pentium 66MHz 4~8MB
第二世代 マイクロソフト 標準キャラクタ セット
JIS90, 10646
第三世代 補助漢字をUCS拡張
補助漢字をUCS拡張
AMD K6-2 / MIPS R10000 / Pentium II 266MHz 32 ~ 64MB
第四世代 国語審議会答申に基づく
最新規格への対応
JIS2004
Core2Duo 1GHz ~ 1GB ~第一世代 Shift JIS
(JIS78 or JIS83) + 拡張
Z80互換CPU 16 ~ 32KB
1982 年 12 MS-DOS 2.0 明会 発表
1983 年 MS-DOS 2.0 対応
半角 1Byte 全角 2Bytes
1
stByte 半角 全角を判断
2
ndByte Delimiter(‘¥’ ) 在
文 集合 JIS78( JIS83) を基本
拡張文 を 容可能
拡張性 乏 い
1992 年 12 Version 1.0 完成
1993 年 5 Windows 3.1 対応
符号化方式 JIS
文 集合
最新規格 (JIS90) を採用
各 拡張文 を け 含 重複 含
文 を 10646 ッ ン
外 領域を
イ ソ 標準キャ セッ 仕様を凍結
将来 改変 拡張 い
将来 文 拡張 UCS
1997 年 12 発表
http://www.microsoft.com/japan/presspass/detail.aspx?newsid=1260
1998 年 7 Windows 98 対応
初 UCS 拡張
JIS X 0212 – 補助漢
JIS X 0221 日本語 記号
連 機能追加
UI や イ 使わ い 半角 撲滅
UI 向け ン MS UI ッ )
2005 年 7 発表
http://www.microsoft.com/japan/presspass/detail.aspx?newsid=2353
2007 年 1 Windows Vista 対応開始
JIS2004 対応
国語審議会 答申 基 く例示 体 変更 追加漢 を 映
追加漢 Surrogate Pair 含
移行 互換性 ッ
Windows XP 向け JIS2004対応 Windows Vista 向け JIS90対応
連 機能追加
日本語 ClearType ン イ UI 採用
対応 行わ
う 含 い
文 集合 を規定
JIS 区 点 面 Unicode U+xxxx 等 管
理 イン ッ を使用
漢
文 集合を 交換可能 共通 定義さ 方式
化
Web 用途 適 符号化方式
を使用
例
通信 イ 要件 合わ ッ 長
7 ッ 8 ッ 16 ッ
特 文 扱い ッ 使用出来 い文
対応
‘iso-2022-jp’ UTF-8 UTF-16
符号化文 集合
UTF-8
Shift-JIS
iso-2022-jp
文字 ー が一体 定義、使用さ いた
文字 符号化方式が 別々に議論さ ように
符号化文字集合 符号化方式
包摂規準
イ 異 い 一
文 扱う 規準
JIS X 0213 約 200 規準
イン差
ン イン 違い
当用漢
常用漢 表
表外漢 体表
改定常用漢 表
• 1949 年 11 16 日内 告示
• 1,850
• 複雑 一部 体 簡略化さ 略 体
• 1981 年 10 1 日内 告示
• 1,945
• 当用漢 95 追加
• 2010 年 6 7 日内 告示 訓令
• 2,136 -5 勺 錘 銑 脹 匁 +196
• 168 例示 形 変更さ
• 2000 年 12 最終答申
• 1,022 ⇒ 印 標準 体
• 22 ⇒ 簡易慣用 体
JIS X 0213:2004改正
• 印 標準 体 簡易慣 用 体 採用
非漢 659
第 水準漢
2,436
第 水準漢
1,259
第 水準漢
3,390
第 水準漢 2,965
非漢 524
JIS 2004
形 変更さ
MS 対応を
行 文
122
JIS X 0213:2004
JIS X 0208:1997
303 (2004) (2000:302 )
通産省に 定め れた 最初の文字コード規格
規格票例字体 約250字に変更
第 2水準漢字に2文字 追加 人名用漢字
表外漢字字体表
• 印刷標準字体
• 簡易慣用字体
Unicodeの対応
1978
1983
1990
2004
6,802
6,877
6,879
11,233
使用
JIS
ここ !
形 変更
追加面 文
使用 2000
Windows Vista, Windows
Server 2008 JIS 2004 体
を UI 使用
ン JIS90,
JIS04 両方を使用可能
(OpenType)
JIS X 0208:1990
Windows Vista, Windows 7, Windows 8, Windows Server 2008, Windows Server 2008 R2
搭載さ い OpenType ン 両方 体を い
JIS X 0213:2004
JIS X 0213:2004 168 形を変更
イ 形変更 122
漢字
イ MS 明朝 MS ッ
漢字 漢
区 点 面 文 を管理
94( 区 x 94 点 x n 面 [x, y, z]
8,836 文 / 面
符号化 こ 区点面 [x, y, z] 変換 仕様
21
Shift_JIS
iso-2022-jp
言語 国を超え 相互運用性 相互接続性 実現を
文 表示 イン 見
地
About the Unicode Standard
The Unicode Standard is a character coding system designed to
support the worldwide interchange, processing, and display of the
written texts of the diverse languages and technical disciplines of
the modern world. In addition, it supports classical and historical
texts of many written languages.
Unicode ン
定年 文字数 詳細
1.1 1992 34,233 • JIS X 0208 JIS X 0212 を含 Unicode ン 2.0 1996 38,950
• を技術仕様 採用 こ 時点 文 未定義 あ 3.1 実装
• ン 文 移動 (Unicode 1.1 互換性消失)
• (技術仕様 JIS X 0213:2004 対応)
2.1 1998 38,952 • 通貨記号追加 多少数 記号定義変更
3.0 1999 49,259 • CJK 統合漢 拡張 A 漢 6,582 文 追加
3.1 2001 94,205
• 303 文 を追加
• JIS X 0213:2000 一部対応 言語 追加
• CJK 統合漢 拡張 B ッ 追加
• CJK 統合漢 拡張 B 漢 42,711文 追加
3.2 2002 95,221
• JIS X 0213:2000 び JIS X 0213:2004 正式対応
• 異体 セ 1 ~ 16 追加
• JIS X 0213:2004 追加 10 文 在
• CJK 互換漢 ッ 追加さ JIS X 0213:2000 漢 59 文 び追加丸付 数 (~
㊿) 非漢 を追加
4.0.0 2003 96,447 • 異体 セ 17 ~ 256 追加
5.0.0 2006 99,089 • BMP(基本多言語面) 領域 文 追加
• 領域 キ 文 追加
6.0 2010 109,449 • ISO/IEC 10646:2010
• 絵文字の追加
称 最大値
符号長
( イ )
UTF-8 U+10FFFF 1 ~ 4
UTF-16 U+10FFFF 1 ~ 2
UTF-16BE U+10FFFF 1 ~ 2
UTF-16LE U+10FFFF 1 ~ 2
UTF-32 U+10FFFF 4
イ 最大値 65,535
BMP
U+0000 U+FFFF U+10000 U+10FFFFPlane 0 (Basic Multilingual Plane)
Plane 1 (Supplementary Multilingual Plane) U+10FFD
U+20000 U+2FFFD
Plane 2 (Supplementary Ideographic Plane) U+30000
U+3FFFD
Plane 3 (Tertiary Ideographic Plane) U+E0000
U+EFFFD
Plane 14 (Special-Purpose Plane)
http://unicode.org/roadmaps/index.html
BMP
U+D800 U+DFFF
U+DC00 U+D8FF
U+0000 U+FFFF U+10000 U+10FFFF
位
位
Shift_JIS う 手段 対応 向 い
値 位 位 判断 可能
U+DC00
U+DFFF
0x00 0x3F
1,024 文
64文
面
面
65,536 文
N面
面 面 面 15面 16面
上位 ロ ー (U+D800 ~ U+DBFF)
1,024
下位 ロ ー (U+DC00 ~ U+DFFF)
1,024
合計拡張数 1,048,576文字
=
X
基底文 結合文 合成済 文
合成列
見 目 文 文 組 合わ
見 目 異 意味的 文
文 組 合わ
見 目 定義 異 文
文 見 目 意
味共 全く
異
文 列を比較
時 期待さ 結
果 ?
う API を使
用 ?
ё
ё
゙
е ̈
+
+
U+304C
U+304B U+3099
=
U+0451
U+0435 U+0308
=
正規等価
見 目
見え
比較 場合
結果 ?
う 扱う
?
➀
Α
A
U+2780 U+2460
U+0391
U+0041 LATIN CAPITAL LETTER A
GREEK CAPITAL LETTER ALPHA
DINGBAT CIRCLED SANS-SERIF DIGIT ONE
CIRCLED DIGIT ONE <circle> 0031 1 ~ ~
見 目 若干異
意味的 ㎜ U+339C
㎣ U+33A3
㏦ U+33E6
U+2460
U+30AB
㌂ U+3302
m U+006D
m m ³ U+00B3
7 日 U+65E5
1 U+0031
カ U+FF76
ン
m
U+006D
U+0037
互換等価
合成済文 合成列 扱い
正規分解
(Canonical Decomposition)正規分解 正規合成
(Canonical Decomposition, followed by Canonical Composition)互換分解
(Compatibility Decomposition)互換分解 正規合成
(Compatibility Decomposition, followed by Canonical Composition)ǻ U+01FB LATIN SMALL LETTER A WITH RINKG ABVE AND ACUTE
00E5 å 0301 ́
å U+00E5 LATIN SMALL LETTER A WITH RING ABOVE
0061 a 030A ̊
分解
合成
ǻ
ǻ
ǻ
ǻ
ǻ
ǻ
a ̊ ́
å ́
ǻ
ǻ
å ́
a ̊ ́
゙
゙
悩 い文 処理
保 送信
比較 並び替え
゛ イ
゙ イ
ハ
U+FF8A゙
U+FF9Eイ
U+FF72ナ
U+FF85リ
U+FF98U+30CF U+3099 U+30A4 U+30CA U+30EA
U+30EA U+30CA
U+30A4 U+30CF U+309B
イ
U+30A4 U+30CA U+30EAU+30D0
イ
゛イ
イ
バイナリ
意味
イ 整合性
意味 整合性
想定 難 いソ 側 作成側 送付元 実装
意図
表示 印 を含 比較 集約さ 実装
課題
• 必要 場合 文 列を変換
• 可能 限 を保 送信
化 イ 保 送信可能
作成者 意図 表示
作成者 意図
異 ン 表示
時間 OS を越え 文 を表示出来 い
JIS90 & JIS 2004
JIS20xx… ?
? 味噌 ?
U+5473, U+5641 ⇒
定義文 (User Defined Character)
JIS X 0201 JIS X 0208 含 い文 使
用 一般化
ン 異 一貫性 無い
割 当 相互運用性 如
特定 効 文 列 キ
一般 意味 異 形
辺、 、 、部 ?
、 、 、 、 ?
多く 場合 外
対応
渡 氏 絵 作 だ
渡 氏 絵 傑 作 だ
渡 氏 絵 作 だ
ここ 内容 Windows Vista
Windows 7 Windows Server 2008
Windows Server 2008 R2 未対応
基本 文 形を指
定 事 可能
見 目 異 文 あ
基本 文 意味
一意性を確保
邉
9089
基本 文 U+9089 ン
IVD
Ideographic Variation Database
IVS
Ideographic Variation Selector Ideographic Variation Sequence
渡 氏 絵 傑 作 だ
E010A E0103
渡 氏 絵 作 だ
U+6E21 U+9089 U+6C0F U+306E U+7D75 U+306F U+5091 U+4F5C U+3060
U+6E21
U+9089 +
U+E010A U+6C0F U+306E U+7D75 U+306F
U+5091 +
U+E0102 U+4F5C U+3060
BMP
U+0000 U+FFFF U+10000 U+10FFFFPlane 0 (Basic Multilingual Plane)
Plane 1 (Supplementary Multilingual Plane) U+10FFD
U+20000 U+2FFFD
Plane 2 (Supplementary Ideographic Plane) U+30000
U+3FFFD
Plane 3 (Tertiary Ideographic Plane) U+E0000
U+EFFFD
Plane 14 (Special-Purpose Plane)
http://unicode.org/roadmaps/index.html
IVS Plane 14 を使用
BMP
U+D800 U+DFFF
U+DC00 U+D8FF
U+0000 U+FFFF U+10000 U+10FFFF
位
位
JIS X 0213 一部 文 IVS
割 当 い
※ U+E0100 ~ U+E01EF (239)
基本多言語面 文
文
基本多言語面 文 IVS
文 IVS
16 ッ
16 ッ 16 ッ 16 ッ 16 ッ
16 ッ 16 ッ 16 ッ 16 ッ
16 ッ
基本多言語面 文
16 ッ け
32 ッ (16 ッ x2)
う …
IVS 異体 セ 対応 !
文 入力
文 出力 表示 印
期 Windows
汎用電子 成果
AJ1
Office 2007/2010 Unicode IVS 未対応
新機能 追加対応 原則新 い ン
IVS を使用 キ ン 増加
必要性 増 互換性 相互運用性 問題
対応
Office 2007/2010 Add-in 提供
Office 使用 イ ッ
OOXML
WordprocessingML
SpreadsheetML
PresentationML
DrawingML
VML
SharedML
使用 い ン 表示出来
文 異
IVS を扱え いこ 誤 文 表示
セ を 文 認識 表示
い
編集 保 こ IVS 情報 失わ
Plug-in Office キ ン
動的変換
IVS 符号化さ い い文 い
PUA を使用 表示 編集を可能
U+E000 ~ U+F8FF (6400 )
Plane 15 U+F0000 ~ U+FFFFD (65534 )
Plane 16 U+10000 ~ U+10FFFD (65534 )
1. Microsoft.Office.Tools.AddInBase.Application.DocumentOpen イ ン を
取得
2. Microsoft.Office.Tools.AddInBase.Application.ActiveDocument を編集
• 開い キ ン 文 を動的 検査 入 替え IPAmj明朝固 文 をPUA 変換
3. Microsoft.Office.Tools.AddInBase.Application.DocumentBeforeSave イ ン
を取得
4. キ ン 保 さ 前 IVS IPAmj 明朝固 変換 復元
IVS、IPAmj明朝 固有文字を含む キ メン
IVS、IPAmj明朝 固有文字をPUAに 変換
ー ーによ 編集
作業 PUAIPAmjの文字をIVS、明朝固有文 字に変換
キ メン の保存
JIS JIS 第 水準 第 4 水準 文
を扱え い Unicode 唯一 選択肢
外 使用 相互運用性を損 い 将来
ソ 更新を 困難
IVS 外 異体 問題を 解消出来
Office IVS Add-in 移行 提供
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it
should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.