中文世界 Ensky.

Slides:



Advertisements
Similar presentations
Linux 安裝入門與基本管理 課程目標: 學習Linux平台下的安裝設定 與 建置一個基本的Linux伺服器
Advertisements

文字录入的提高知识 本课要点 具体要求 本章导读 上机练习.
第 9 章 多媒體.
汉字编码 汉字编码.
Linux 網路教學 東南技術學院資訊工程系 職稱:講師 姓名: 曹茂勁 民國 92年 12月.
5.1 文本与文本处理 5.2 图像与图形 5.3 数字声音及应用 5.4 数字视频及应用
红旗Linux认证培训 课程介绍.

2014年度企业所得税业务培训 蚌埠市地方税务局所得税科.
Unicode和多语言信息处理 adoal.
第六章 Linux的系統管理基礎 課前指引 身為Linux系統管理員,除了熟悉作業系統的安裝、圖形介面的操作及系統指令的使用與軟體套件的安裝外,更需要瞭解基礎的Linux系統管理技巧。本節,將針對此部分進行說明。
计算机基础.
企业所得税年度纳税申报表(2014年版)培训 国家税务总局公告2014年第63号
電腦病毒簡介與應用軟體簡介 趙涵捷.
第 5 章 數字系統與資料表示法.
第二章 數字系統:電腦內部的資料表示法 在第一章中,我們對於電腦有了初步的認識,在深入介紹電腦的各項組成元件之前,首先我們必須先了解另一種不同於人類使用習慣的二進位表示法,由於電腦的半導體、磁性、光學元件適合用來表示二進位,因此二進位表示法非常適合用來設計電腦。
计算机与信息技术应用基础 徐东雨 计算机中心
第7章 建立資料表與完整性限制條件 7-1 資料型別 7-2 資料表的建立 7-3 建立完整性限制條件 7-4 修改與刪除資料表
商品学 高学芹.
Linux.
Linux的認識與使用 2013/01/05.
數字系統與資料表示法 電腦的基本單位 數字系統 數值資料表示法 數值資料與算數運算 數碼系統 浮點數表示法 文字表示法 資料來源:周裕達教授.
第二十八章 開發新的VCL元件 雖然BCB內提供了很多VCL元件,但是一定還有一些我們常常需要用的介面並沒有製作成VCL元件,或是一些個人化的介面,我們也有需要做成VCL元件。在第十三章,我們將介紹如何自行開發新的VCL元件。
eBook Design -雲端視訊電子書推廣
第 2 章 上機使用 Unix/Linux 內容: 操作介面 主機連線 登入主機 認識系統環境 使用者常用命令.
内核移植实例.
中文輸入 拼音輸入法 拆字輸入法 綜合拼音與拆字輸入法 中文手寫輸入法 掃描、中文圖形輸入: 語音輸入法: 微軟新注音、自然輸入法
台灣大學計算機及資訊網路中心 教學研究組 張傑生
資料表示法與數字系統 主講:顧叔財 資料來源: 計算機概論.
A3-1 數字系統 A3-2 資料表示法 A3-3 資料的儲存
漢語拼音設定及輸入.
EndNote X4 Advance your Research and Publish Instantly
Linux 系統管理 計網中心網路組 楊世偉.
精進教師研習 QR Code製作教學 資料來源:
EndNote X5 Advance your Research and Publish Instantly
文献管理软件EndnoteX4及其新功能 学科馆员:张欣利.
EndNote 大林慈濟醫院圖書館
ProQuest Administrator Module (PAM) 使用說明
Linux 中文化架構與原理 概說 名辭 原理 實作 其它.
文字資料表示法 & 布林代數與數位邏輯.
預官考試輔導 計算機概論提要 91年12月4日.
第 9 章 中文系統 著作權所有 © 旗標出版股份有限公司.
中 文 世 界.
多媒體概論報告-BMP 組員名稱: 盧彥良-資料蒐集 周誠哲-資料蒐集
6-1 資料表示法簡介 6-2 數值表示法 6-3 數字系統介紹 6-4 數字系統轉換方式
IT&SAMS小組 (IIT - 倉頡輸入法)
第1章 MATLAB操作基础 1.1 绪论 1.2 MATLAB概述 1.3 MATLAB的运行环境与安装 1.4 MATLAB集成环境 1.5 MATLAB帮助系统.
Chinese World hmwang.
第 1 章 文字媒體 多媒體導論與應用-第三版 1.1 文字的格式 1.2 數位化文字的應用 1.3 課後練習
如何有效率的學習Linux 培養組合能力 多用程式, 少寫程式 從錯誤訊息中學習 養成略讀 “各種文件” 加強英文基本閱讀能力 勤作筆記
作業系統 Operating System 第四單元 檔案系統
2-1 數位化概念 2-2 資料的數位化 ※ 2-3 基本數位邏輯處理
杨振伟 清华大学 第一讲:Linux环境下编程(1)
文崗資訊股份有限公司 Apex Information Services Co., Ltd.
學生學習檔案製作經驗分享 國際貿易實務課程研習 -- 多元升學與技能證照 2010 /04 /30 台中家商
Compute System Administration Homework 2: Shell Script
Yzlin Screen & Irssi yzlin
如何連上工作站 WorkStations: 1. Solaris 2. Linux Use X-Win32 (for Solaris)
TBSUSP 资源整合检索软件 北京金信桥信息技术有限公司 2010年05月31日.
第1章 MATLAB操作基础 1. 1 MATLAB概述 1. 2 MATLAB的运行环境与安装 1. 3 MATLAB集成环境 1
行動寬頻介接網路與IoT實務應用-實驗課程
杨振伟 清华大学 第一讲:Linux环境下编程(1)
Introduction to Computer Security and Cryptography
Usage Eclipse 敏捷方法工具介紹 實驗室網站:
劉庠宏、林合治編著 國立高雄大學應用數學系 2005年3月1日
熟悉VC++开发环境.
第六章 文件系统与文件管理 6.4 Linux文件管理 1、比较MS DOS 与 Linux的目录结构 一、Linux文件系统的树形结构
Presentation transcript:

中文世界 Ensky

編碼標準 電腦是老外發明的 我們也要用電腦顯示中文 ref: 五大中文套裝軟體為「文書處理」、「資料庫」、 「試算表」、「通訊」及「繪圖」 只有a-z A-Z 0-9 ~!@#$%^&*()_+等ASCII符號 我們也要用電腦顯示中文 所以我們就自己設計了一套編碼系統,叫Big5 是「台灣財團法人資訊工業策進會」在1983年 為「五大中文套裝軟體」設計的編碼系統 原本的五大中文套裝軟體沒有成功推廣, 卻意料外的讓Big5普及於世 ref: 五大中文套裝軟體為「文書處理」、「資料庫」、 「試算表」、「通訊」及「繪圖」

編碼標準 ASCII Big5 Ref: http://www.cns11643.gov.tw/web/word.jsp 8 bits (理論上有 256 種可能) 0x00 ~ 0x7F 共 128 種字元 0x00 ~ 0x1F  control characters 0x20 ~ 0x7F  printable characters Big5 使用 2 bytes 來存放中文字 (理論上有 65536 種可能) 實際上為與 ASCII 相容, 只能使用 19782 個 [0x81 ~ 0xFE][0x40~0x7E, 0xA1 ~ 0xFE] = 126 * (63 + 94) = 126 * 157 = 19782 Ref: http://www.cns11643.gov.tw/web/word.jsp

編碼標準 – Big5 標準字 (13502) 特殊符號 (441) 使用者造字 (5809) 常用字 次常用字 符號、控制碼 罕用符號 你我他的媽 次常用字 朸旯朿鐰飉 特殊符號 (441) 符號、控制碼 : ! 。∩ ♂ ├ 罕用符號 使用者造字 (5809) 三段

Big5的問題 腦包使用者造字區 缺字 延伸版本繁雜 許功蓋 (\) 每個人都可以自己造字 於是自己造的字放到別人電腦上就看不到 堃、煊、栢、喆 延伸版本繁雜 倚天Big5延伸 Code Page 950 Big5+ Big-5E Big5-2003 許功蓋 (\)

編碼標準 - Unicode 全世界共有一百多種文字,因此也有很多種不同的編碼系統。 日本有JIS,中國有GB 2312,… 同樣的編碼在不同的編碼系統下顯示會不同 因此Unicode組織就誕生了

Unicode VS ISO 10646 1991年左右,同時有兩個組織著手規範世界字碼 過不了多久,他們就互相體認到 「這個世界不需要兩套不同的單一字符集」 因此他們決定共用同樣的字碼 現在這兩個組織各自存在,各自互相砥礪 ref:http://zh.wikipedia.org/wiki/ISO_10646

編碼標準 – ISO10646 and Unicode (1) Goal 集結全球通用字符集,成一大聯集 UCS-4 Universal multiple-octet coded Character Set 4 bytes encoding (2^31) 128 Groups 256 Planes each group 256 Rows each plane 256 Cells each row BMP (UCS-2) Basic Multilingual Plane 00 group, 00 plane 65536 encoding space Why in BMP 若所有字集都在 BMP 中, 就可以只使用 2 bytes, 否則就要用 4 bytes, 不能混用

編碼標準 – ISO10646 and Unicode (2) BMP

Unicode 的問題 Big-Endian & Little Endian 空間浪費 U+4E59?(乙) U+594E?(奎) ASCII字元用2byte記? 0x00 0x41 「A」 第一位永遠是0

Unicode Transformation Format UTF: UCS/Unicode Transformation Format UTF-16(2、4 bytes) 將一個 32-bit ISO10646 字元轉成多個 16-bit Unicode UTF-8(1~4 bytes) 將一個32-bit ISO10646 字元轉成多個 8-bit Unicode 將一個16-bit Unicode 字元轉成多個 8-bit Unicode 128個US-ASCII字元只需1 bytes編碼 帶有附加符號的拉丁文、希臘文、西里爾字母、亞美尼亞語、希伯來文、阿拉伯文、敘利亞文及它拿字母則需要2 bytes編碼 其他基本多文種平面(BMP)中的字元 (這包含了大部分常用字)使用3 bytes編碼。 其他極少使用的Unicode 輔助平面的字元使用4 bytes編碼。

中文環境 (1) 要做到哪些事情 中文訊息 中文顯示 中文輸入 中文列印 中文處理 簡單 困難

中文環境 (2) 中文化方式 直接修改程式 18 chars 國際化(InternationalizatioN,i18n) 套件以排山倒海之勢而來 18 chars 國際化(InternationalizatioN,i18n) Multi-language architecture 程式設計人員按照該架構的機制與準則寫程式, 便可支援各式各樣的語言 Locale (LOCALization Environment database) 程式根據使用者選擇的 locale 聯繫到不同資料庫, 進而提供該語言的支援 在地化(LocalizatioN,L10n) 在 i18n 的大架構下,加入「在地化」的特性 通常i18n只需做一次,而L10n要針對每個語言個別做

i18n & L10n i18n + L10n L10n only 語言 文化 書寫習慣 翻譯 道德在地化 內容在地化 文化價值、社會環境 名字和稱謂的位置 電話號碼、位址和國際郵遞區號的格式 貨幣 度量衡 書寫習慣 日期時間 時區 數字格式 L10n only 翻譯 道德在地化 內容在地化 文化價值、社會環境

中文環境 (3) locale in FreeBSD 地區性語言的資訊 效力優先性:LC_ALL > LC_* > LANG LC_CTYPE 掌管該 locale 中所有字元的處理方式 LC_MESSAGES 掌管程式訊息輸出所用的語言 LC_TIME 時間格式 LC_NUMERIC 數字格式 LC_MONETARY 貨幣格式 LC_COLLATE 字母順序與特殊字元比較 LANG 語言顯示 效力優先性:LC_ALL > LC_* > LANG

中文環境 (4) 設定 locale csh/tcsh shell Bourne Shell setenv LC_CTYPE en_US.UTF-8 Bourne Shell export LC_CTYPE=en_US.UTF-8 Note: 或者是你可以寫在.tcshrc中讓他登入後自動執行 /usr/share/locale/ 各國的 locale 資訊 命名規則: 語言_地區名:字元編碼名稱 zh_TW.UTF-8 zh_CN.GBK

英文,但支援multibyte character 中文環境 (5) 中文 Terminal (Remote Login) M$ Windows: putty, pietty, netterm, multi-term, telnet, …etc. X Window: xterm, rxvt, aterm, mterm,roxterm…etc. 設定好中文支援,登入後 setenv LC_CTYPE en_US.UTF-8 (csh/tcsh) export LC_CTYPE=en_US.UTF-8 (sh/bash) 即可看到中文 中文 Xwindow 建立支援 L10n 中文環境 安裝中文字型 設定 Shell locale 環境 安裝 ibus 中文輸入程式 英文,但支援multibyte character

中文世界 Exercise hwchiu

Steps of Exercise 安裝中文字型 安裝中文 Terminal 安裝 ibus 中文輸入程式 其他設定

中文字型 兩大中文字型種類 點陣字型 (Bitmapped Font) 曲線描邊字型 (Outline Fonts) BDF (Bitmap Distribution Format) 點陣分散格式 HBF (Hanzi Bitmap Font) 漢字點陣字體 PCF (Portable Compiled Font) 曲線描邊字型 (Outline Fonts) True Type Font (TTF) 點陣(黑白)=>放大鋸齒,記憶體大 曲線=>數學運算=>放大縮小都完美

安裝中文字型 (2) Font Path 安裝字型 % xset q % xset fp+ [directory] /usr/local/lib/X11/fonts/misc/, /usr/local/lib/X11/fonts/TTF/, /usr/local/lib/X11/fonts/Type1/, /usr/local/lib/X11/fonts/75dpi/, /usr/local/lib/X11/fonts/100dpi/, /usr/local/lib/X11/fonts/local/ Font Path % xset q % xset fp+ [directory] % xset fp rehash 安裝字型 直接從Windows下複製過去 / 透過 ports 安裝字型檔案 使用 ttfm 安裝該字型 使用 fc-cache 建立字型資料庫 修改各軟體設定使用別的字型

安裝中文字型 (3) 安裝 ttfm – TrueType 字型管理工具 ttfm ttfinfo 讀取 ttf 字型格式資訊的程式 % ttfinfo /usr/local/share/fonts/TrueType/fireflysung.ttf (21:38)wjguo@[oopc6:/home/wjguo] >ttfinfo /usr/local/share/fonts/TrueType/fireflysung.ttf TTFINFO_FONT_FILE="/usr/local/share/fonts/TrueType/fireflysung.ttf" TTFINFO_FACE_NUM="1" TTFINFO_FACE_INDEX="0" TTFINFO_FONT_NAME="AR PL New Sung" TTFINFO_FONT_PSNAME="AR-PL-New-Sung" TTFINFO_FOUNDRY_NAME="misc" TTFINFO_WEIGHT_NAME="medium" TTFINFO_WIDTH="normal" TTFINFO_NUMCMAP="3" TTFINFO_CMAP0="0,3" TTFINFO_CMAPNAME0="Apple Unicode,(v.2.0)" TTFINFO_CMAP1="1,0" TTFINFO_CMAPNAME1="Apple,Roman" TTFINFO_CMAP2="3,1" TTFINFO_CMAPNAME2="Windows,Unicode" TTFINFO_MAPNUM="3" TTFINFO_FONTMAP1="-misc-AR PL New Sung-medium-r-normal--0-0-0-0-p-0-big5-0" TTFINFO_FONTMAP2="-misc-AR PL New Sung-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0" TTFINFO_FONTMAP3="-misc-AR PL New Sung-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0"

安裝中文字型 (4) ttfm.sh (21:38)wjguo@[oopc6:/home/wjguo] >ttfm.sh True-Type Font Manager 0.9.3 Usage: /usr/local/bin/ttfm.sh [option] --add [module] <file>... install ttf font --remove [module] <file>... remove ttf font from the system --list <module>... list all ttf fonts on the system --modules list all ttf manager modules on the system --setdefault <module> <file> set default ming font of module to file --setdefault_kai <module> <file> set default kai font of module to file --initm <module>.. initialize modules --help show this info

安裝中文字型 (5) 選一個來裝 …

安裝中文字型 (6) fireflyttf 透過 ports 安裝的都會自己跑 portmaster chinese/fireflyttf % ttfm.sh --add xttfm /usr/local/share/fonts/TrueType/fireflysung.ttf % fc-cache –f –v /usr/local/lib/X11/fonts/TrueType/ portmaster chinese/fireflyttf –f –v --force --verbose

*安裝中文字型 (7) 用 xfd 來看 % setenv LC_CTYPE zh_TW.Big5 % xfd –fa “MingLiU” man xfd

安裝中文字型 (8) 增加 Font Path Edit /etc/X11/xorg.conf /usr/local/share/fonts/TrueType/fireflysung.ttf /usr/local/lib/X11/fonts/TrueType/fireflysung.ttf Restart xwindow symbolic link Section "Files" ModulePath "/usr/local/lib/xorg/modules" FontPath "/usr/local/lib/X11/fonts/misc/" FontPath "/usr/local/lib/X11/fonts/TTF/" FontPath "/usr/local/lib/X11/fonts/OTF" FontPath "/usr/local/lib/X11/fonts/Type1/" FontPath "/usr/local/lib/X11/fonts/100dpi/" FontPath "/usr/local/lib/X11/fonts/75dpi/" FontPath "/usr/local/lib/X11/fonts/TrueType/" FontPath "/usr/local/lib/X11/fonts/local/" EndSection

安裝中文 Terminal rxvt aterm eterm ROXterm mlterm /usr/ports/x11/rxvt-unicode aterm /usr/ports/chinese/aterm eterm /usr/ports/chinese/eterm ROXterm /usr/ports/x11/roxterm mlterm /usr/ports/x11/mlterm xlsfonts

ROXterm X11/roxterm roxterm-config xlsfonts

安裝中文輸入程式 Choices ibus-chewing(chinese/ibus-chewing) ibus-pinyin(chinese/ibus-pinyin)

安裝 ibus 中文輸入程式 (1) ibus Intelligent Input Bus % cd /usr/ports/textproc/ibus-chewing ; make install clean setenv LC_CTYPE zh_TW.UTF-8 (csh/tcsh) export LC_CTYPE=zh_TW.UTF-8 (sh/bash) Edit .xinitrc (或是可以 setenv in .cshrc/.bashrc) XIM=ibus GTK_IM_MODULE=ibus QT_IM_MODULE=xim XMODIFIERS='@im=ibus' XIM_PROGRAM="ibus-daemon" XIM_ARGS="--daemonize --xim"

安裝 ibus中文輸入程式 (2) Switch to chinese input: Ctrl -Space

安裝 ibus 中文輸入程式 (3) 調成自己要的樣子 % ibus-setup (UTF-8)

其他設定 (1) 顯示所有可用字型 選擇字型程式 xlsfont xfontsel – X font selector click [select] 滑鼠中間鍵貼上 滑鼠左右鍵貼上

其他設定 (2) 安裝 zh-auto-tw-l10n # cd /usr/ports/chinese/auto-tw-l10n/ # make install clean # cd /usr/local/share/skel/zh_TW.Big5/ # ls (21:57)wjguo@[oopc6:/usr/local/share/skel/zh_TW.Big5] >ls MANIFEST dot.cshrc dot.gtkrc dot.vimrc dot.Xdefaults dot.emacs dot.inputrc dot.xinitrc dot.bashrc dot.fonts.conf dot.muttrc make.conf

其他設定 (3) 設定適合的 Locale(in X window) en_US.ISO8859-1 vs. zh_TW.Big5(zh_TW.UTF-8) edit /etc/csh.cshrc (or ~/.cshrc) if ( $MY_TTY == cons || $MY_TTY == ttyv ) then setenv LC_CTYPE zh_TW.Big5 else setenv LC_CTYPE en_US.ISO8859-1 endif

References 中文碼介紹 FreeBSD Chinese HOWTO Introduction to i18n http://www.cns11643.gov.tw/web/word.jsp FreeBSD Chinese HOWTO http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/index.html Introduction to i18n http://www.debian.org/doc/manuals/intro-i18n/