ウィンドウシステムとは? GUIと ウィンドウシステム それを 知 るためには 歴 史 が 少 々 必 要 です Windowsで コマンドプロンプト を 開 けて 下 さい 多 分 プログラミングの 授 業 で 使 っていますね? そこは 1 文 字 だけしか 打 てない 2 画 面 上 の 文 字 の 位 置 が 決 まっている 起 動 はccとか 文 字 コマンドでするのでしたね 6 ウィンドウシステムとは? 後 の 議 論 のために 2つのことば * CUI Character User Interface 文 字 ベースのユーザインターフェース コマンドプロンプト での 使 い 方 * GUI Graphic User Interface グラフィックベースのユーザインターフェース Windowsなどでの 使 い 方 ( 複 数 ウィンドウ アイコン 絵 の など) 昔 は? マイクロソフトがWindows OSを 作 ったのは 初 めはPC 上 ではMS-DOS (1980) 文 字 ベースだった Windows 1.0 (1985) 3.0 (1990) 使 い 物 にならなかった Windows 3.1 (1992) 以 降 広 く 普 及 した 7 8
昔 は? UNIX/Linuxやその 他 の 大 学 研 究 系 OSでは 初 めは 文 字 端 末 だった メインフレームのTSSシステムから ワークステーション(DEC VAXなど) 端 末 の 機 械 がタイプライタ( 絵 は 描 けない) GUIの 先 駆 的 なプロジェクトはいくつかあった SRI エンゲルバートのNRS (1962-68) Xerox PARC アラン ケイらのAlto (1973) X Window ( 現 在 Unix/Linuxで 広 く 使 われる) 1984 年 MIT Athenaプロジェクトから 今 は? マイクロソフト Windows OSのウィンドウ Linux 上 のX Window System Apple MacOS 上 のウィンドウシステム 携 帯 機 器 (Ios, Android)? よく 知 らない 9 CUI vs GUI / なぜGUI? GUIは 操 作 を 間 が 理 解 しやすく アイコン 絵 でイメージ (ファイルの) 名 前 のリスト 一 覧 表 ドラッグしてドロップ 操 作 を 動 作 で 覚 えなくて 済 む 絵 で 能 や 図 形 計 算 能 が 必 要 動 作 タッチやその 識 別 能 必 要 それをこなすだけの 処 理 能 が 必 要 ウィンドウシステムと ウィンドウマネージャ ウィンドウシステム ウィンドウを する 仕 組 ウィンドウを 組 み てる 素 材 を 提 供 する 仕 組 1つのシステムに1つだけ ウィンドウマネージャ ウィンドウシステムを 使 ってウィンドウを 作 る ルックアンドフィールを 作 る 決 める 同 じシステム 上 で 切 り 替 えられる 11 12
13 ウィンドウシステムの 実 現 には ディスプレイに 絵 を 描 けることが 必 要 今 のディスプレイは 点 で 絵 を 描 く 00 点 x800 点 x24ビット=20mビット 必 要 初 期 のディスプレイは 文 字 のみ 80 英 数 字 x24 x8ビット=8kビットで 済 む ディスプレイに 描 画 する( 絵 を 作 る) 処 理 能 必 要 ビット 境 界 で 絵 を 速 コピーする 能 速 に 絵 を 成 する 能 ハードウェア 支 援 グラフィックプロセッサ 14 ウィンドウシステムの 実 現 には 位 置 の 検 出 が 必 要 位 置 を 示 す 装 置 (ポインティング) マウス パッド 最 近 はタッチ 初 期 のディスプレイは 文 字 のみ 80 英 数 字 x24 x8ビット=8kビットで 済 む ディスプレイに 描 画 する( 絵 を 作 る) 処 理 能 必 要 ビット 境 界 で 絵 を 速 コピーする 能 速 に 絵 を 成 する 能 ハードウェア 支 援 グラフィックプロセッサ ここまでのまとめ 1. CUI GUI より 使 いやすく 直 感 的 に 2. ウィンドウシステムはGUIを 実 現 絵 で 表 で 3. ウィンドウシステム/GUIを 支 える 技 術 基 盤 画 面 メモリ 速 描 画 速 処 理 4. ウィンドウシステムとマネージャ 仕 組 とルックアンドフィールを 分 けた 視 覚 ユーザインターフェースの 将 来? 3D? 動 き 出 による 情 報 提 供? 聴 覚 聴 覚 による 動 機 付 けとか? 触 覚 仮 想 現 実 の 一 部 として 実 用 化 嗅 覚?? 味 覚?? 15 ss_11 15 16 ss_11 16
国 際 化 とは( 教.4) 国 際 化 (i18n = internatilnalization の 略 ) : 多 語 多 様 性 を 共 通 に 処 理 できる 仕 組 枠 組 み 1つのシステムで 多 様 な 言 語 文 化 に 対 応 させたい 地 域 化 (localization) その 地 域 に 合 わせること たとえば OSとかソフトとかで 国 際 化 : 設 定 を 変 えれば 英 語 版 にも 日 本 語 版 にもなる 地 域 化 : 設 定 のための 情 報 やサブシステムを 提 供 する 本 語 表 本 語 本 語 メッセージ 様 々な 国 や 言 語 の 指 定 ロケールとは 国 際 化 の 枠 組 みの 中 で 文 字 だけでなく 通 貨 単 位 や 日 付 の 書 き 方 文 字 の ソート 順 序 などの 組 合 わせで 指 定 する 例 :POSIXのロケール 指 定 LC_MESSAGES 言 語 と メッセージの 言 語 を 指 定 LC_CTYPE 文 字 のクラス LC_COLLATE 文 字 のソート 順 序 英 米 では A,B,C,,a,b,c, 仏 では A,a,B,b,C,c, 次 ページへ 続 く 3 4 ロケールとは 例 :POSIXのロケール 指 定 続 き LC_MONETARY 通 貨 記 号 や 通 貨 の 単 位 書 き 方 LC_NUMERIC 数 値 の 書 き 方 米 ピリオドが 小 数 点 コンマが 整 数 3 桁 ごと 独 ピリオドとコンマが 逆 ヒンディ 整 数 が3 桁 より 上 は2 桁 ごとにコンマ 65,23,14,159.278 LC_PAPER 紙 のサイズ LC_NAME 名 前 の 順 序 その 他 住 所 電 話 番 号 測 定 単 位 など 文 字 コードとは 文 字 コードについて 文 字 をコンピュータ 内 で 表 すための 数 値 例 : Aは41 16 Bは42 16 aは61 16 など 例 :ASCII ( 教 科 書 表.2) 英 数 字 + 記 号 で128 文 字 分 を7ビットで 表 す ことば 文 字 コード 系 文 字 の 表 現 体 系 文 字 集 合 文 字 コード 系 で 表 せる 文 字 の 集 合 コードポイント それぞれの 文 字 に 対 応 する 数 値 5 6
いろいろな 文 字 コード 英 文 ( 英 数 字 記 号 ) ASCII PC, Unix/Linux, EBCDIC IBM ( 昔 のメインフレーム) ヨーロッパ 語 その 他 の 様 々な 言 語 8ビットで 表 せる 文 字 体 系 vs 8ビットで 足 りない 文 字 体 系 漢 字 など 同 一 文 書 に 複 数 言 語 を 混 在 させたいとき 更 にビットが 必 要 UniCode 現 在 の 方 向 ( 脱 線 ) いろいろな 漢 字 コード 漢 字 コードは 複 数 あり 文 字 化 けのもと JIS 漢 字 コード 第 1 水 準 第 2 水 準 の 漢 字 にコード これは 原 則 唯 一 のコード 表 (2バイト)なのだが 英 数 字 (ASCIIやEBCDIC) と 重 なる 部 分 があるので 漢 字 と 英 数 字 が 混 在 できるように 適 当 にずらして 同 じコード 表 に 組 み 込 む ずらし 方 が 複 数 できてしまった ポイント: 標 準 化 のタイミング 2バイトコードの 標 準 化 のタイミングを 失 した(?) 製 品 普 及 に 間 に 合 わず 複 数 の 体 系 が 並 7 8 9 ( 脱 線 ) いろいろな 漢 字 コード( 続 ) (7ビット)JIS 漢 字 コードをそのまま 用 いる 英 数 字 との 混 在 は 切 替 符 号 (シフトアウト イン)で ネットではメール 本 文 がこのコードを 使 っている Shift-JIS ASCII + 8ビット 目 が1のところを 漢 字 に 使 う マイクロソフト MSDOS, Windowsで 使 われている EUC (Extended Unix Code) ASCII+8ビット 目 1を 漢 字 に/Shift-JISとは 違 う 方 法 UNIXで 使 われていた ( 最 近 はUTF-8に 移 りつつある) Unicode/UTF-8 標 準 の 本 命 ここまでのまとめ 1. 国 際 化 地 域 化 により 容 易 に 多 国 で 使 うため の 枠 組 みが 定 義 されている 言 語 文 字 だけでなく 数 や 日 付 の 書 き 方 なども 違 う それほどに 国 文 化 の 違 いが 大 きい ロケールは 地 域 選 択 のための 記 述 の 例 ( 枠 組 みが 無 い 頃 は 英 語 版 を 苦 労 して 作 り 替 えていた) 2. 漢 字 コード 体 系 の 混 乱 混 在 は 苦 い 歴 史 このようなことが 起 こらないように 気 をつけよう
とは? キーボードから 直 接 できる 字 を 使 う 人 たち vs 直 接 できない 字 を 使 う 人 たち 直 接 できない 何 か 方 法 が 欲 しい で 考 えること 変 換 をどこで うか どう 組 み 込 むか どう 取 り 替 え 可 能 にするか どうやって 変 換 するか ここでは 扱 わない ( 脱 線 ) ( 実 は) キーボードに 限 らない 音 声 書 き 字 認 識 スマートフォン 等 でのさまざまな( 漢 字 ) 3 4 フロントエンド バックエンド フロントエンド 方 式 変 換 してからへ 渡 す 確 定 した 字 列 を 渡 す フロントエンド バックエンド フロントエンド 方 式 変 換 してからへ 渡 す 単 純 だが 制 限 が 多 い 確 定 した 字 列 を 渡 す バックエンド 方 式 変 換 前 にが 関 与 する 変 換 方 法 候 補 選 択 や の 方 法 位 置 などを が 制 御 できる 確 定 する 前 の 候 補 などを やりとりできる バックエンド 方 式 変 換 前 にが 関 与 する 変 換 方 法 候 補 選 択 や の 方 法 位 置 などを が 制 御 できる 確 定 する 前 の 候 補 などを やりとりできる 5 6 の 負 担 が 多 くなる
変 換 エンジン 例 :(ローマ 字 )かな 漢 字 変 換 エンジン キーボードからローマ 字 かな 漢 字 同 一 システム 内 でも 複 数 エンジン 選 択 可 能 Windowsでも Microsoft IME (これもOS 付 属 版 と Office 付 属 版 で 細 かい 点 が 異 なる)の 他 他 社 有 料 の ATOKやGoogle 本 語 などが 使 える LAN 上 でエンジンを 共 有 LAN 内 でPCを 移 っても 同 じエンジン+ 辞 書 が 使 える インターネット 上 でエンジンを 共 有 どこで 端 末 を 移 っても 同 じエンジン+ 辞 書 が 使 える 変 換 エンジンのネット 化 の 方 向 同 一 エンジンをネットで 使 えるメリットは 複 数 PCで 同 じ 設 定 (カスタマイズ)を 共 有 同 じ 使 い 勝 複 数 PCで 同 一 の 辞 書 を 共 有 変 換 辞 書 は 使 っているうちに 学 習 する ユーザが 定 義 した 変 換 を 覚 える ユーザの( 語 の 使 い 方 の) 癖 を 覚 える これらがどのPCでも 使 えるとうれしい 7 8 要 求 : 9 ( 脱 線 ) かな 漢 字 変 換 の 方 法? 高 速 応 答 性 あまり 複 雑 な 処 理 はできない 小 さい プログラムやデータが 妥 当 な 大 きさ 辞 書 かルールか? なるべく 辞 書 に 頼 る 辞 書 が 膨 大 になる なるべくルールに 頼 る 例 外 処 理 が 多 くなる 然 語 処 理 ( 構 解 析 意 味 処 理 )か? 本 格 的 な 然 語 処 理 は 複 雑 すぎる 統 計 的 処 理 特 に 確 率 遷 移 モデルがよく 使 われている 誤 変 換 ゼロは 非 常 に 難 しい ここまでのまとめ 1. の 位 置 フロントエンド vs バックエンド ( 大 きなシステムでは)バックエンドが 普 及 2. 変 換 エンジン ネットワーク 化 ネットワーク 透 過 辞 書 や 設 定 を 共 通 に 使 えるように