中文缺字在數位典藏系統之應用 ~網頁缺字處理技術

Slides:



Advertisements
Similar presentations
第一單元 建立java 程式.
Advertisements

两汉文学及汉代诗歌.
近现代文学概说.
寫作教學—標點符號.
C语言程序设计 李伟光.
教學經驗分享 吳毅成 國立交通大學資訊工程系 2012年4月.
人 工 智 慧 報 告 五子棋AI設計 報告者 : 潘輝銘.
第4章 條件判斷與迴圈 Java 2 程式設計入門與應用.
第23章 增加点击率 ——网站优化与推广.
南京理工大学 第2章 Java基本语法 本章我们将学习Java编程语言的基本语法,包括变量、操作符、表达式、语句、字符串、数组、控制流以及如何使用帮助文档。 使用下面的编程框架: public class Test{ public static void main(String []args){ //以下添加测试代码.
第一章 面向对象程序设计.
第4章 JavaScript脚本语言基础 4.1 JavaScript简介 4.2 JavaScript语法基础
第 5 章 流程控制 (一): 條件分支.
第二章 JAVA语言基础.
普通高等教育“十一五”国家级规划教材 信息系统分析与设计 刘腾红 孙细明 主编 科 学 出 版 社.
第6章 PLC控制系统设计与应用 教学目的与要求:熟悉相关指令的综合应用,掌握PLC控制系统设计方法,掌握PLC程序编制方法,巩固所学内容。
契約 課程:文書實務與應用 教師:黃湃翔老師.
第三章 控制结构.
程式設計實作.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
Class 2 流程控制-選擇敘述與迴圈.
第二章 C# 基础知识.
C++Primer 3rd edition 中文版 Chap 5
流程控制結構 4-1 流程控制與UML活動圖 4-2 程式區塊與主控台基本輸入 4-3 條件控制敘述 4-4 迴圈控制敘述 4-5 巢狀迴圈
2018/11/22 Java语言程序设计-程序流程 教师:段鹏飞.
程式敘述執行順序的轉移 控制與重複、方法 Lecturer:曾學文.
第3章 語法入門 第一個Java程式 文字模式下與程式互動 資料、運算 流程控制.
本單元介紹何謂變數,及說明變數的宣告方式。
SWITCH&7-SEG元件控制 嵌入式作業系統實作 11/17.
2018/11/27 Java语言程序设计-程序流程 教师:段鹏飞.
程式設計實作.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
程序设计期末复习 黎金宁
初始化串列通訊埠 在啟始串列傳輸介面時有以下3個步驟:假設傳輸的通訊協定為9600bps,傳送8個位元資料,沒有同位位元,1個停止位元。
奢侈稅成效分析與房市未來發展 吳中書 中華經濟研究院 第十九屆亞太財務經濟會計及管理會議 ~07.09.
變數命名 保留字(Reserved Word)
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
Java程序设计 第2章 基本数据类型及操作.
IT&SAMS小組 (IIT - 倉頡輸入法)
第一單元 建立java 程式.
第三章 C# 基础知识.
第3章 Java語法的JSP程式 3-1 Java語言的基礎 3-2 JSP程式的基本架構 3-3 Java的變數與資料型態
软件测试 (四)静态测试与动态测试.
《JAVA程序设计》 语音答疑 辅导老师:高旻.
第二章Java基本程序设计.
程式結構&語法.
4 條件選擇 4.1 程式基本結構 循序式結構 選擇式結構 重複式結構 4-3
第二章 Java基本语法 讲师:复凡.
字符串 (String) 字符串是 n (  0 ) 个字符的有限序列, 记作 S = “c1c2c3…cn” 其中,S 是串名字
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第二章 Java语法基础.
Review 1~3.
目标 流程控制 字符串处理 C# 的类和对象 C# 访问修饰符 C# 构造函数和析构函数.
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
第1章 数据结构基础概论 本章主要介绍以下内容 数据结构研究的主要内容 数据结构中涉及的基本概念 算法的概念、描述方法以及评价标准.
第五章 序列埠通訊 並列與序列通訊簡介 認識序列埠 認識字元資料類型 字串資料類型 從序列埠監控視窗觀察變數 從Arduino接收序列資料
英語職涯規劃 移民署職場生涯 5.2.1善用慈濟資源‧提升職涯就業力.
§4 连续型随机变量.
C# 匿名委派 + Lambda + Func 建國科技大學 資管系 饒瑞佶.
方格紙上畫正方形.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
第2章 Java语言基础.
多重條件選擇敘述
6.1.1 平方根.
C#快速導讀 流程控制.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
第二章 Java基础语法 北京传智播客教育
第二章 Java基本语法 讲师:复凡.
Presentation transcript:

中文缺字在數位典藏系統之應用 ~網頁缺字處理技術 報告人:林金龍 2007/4/26

outline 構字式(缺字)輸入 資料庫處理 構字式(缺字)呈現

構字式(缺字)輸入 漢字構形資料庫 缺字查詢系統(Web)

漢字構形資料庫 1.查詢 3.構字式 2.查詢結果

缺字查詢系統(Web) 1.查詢 2.查詢結果 3.構字式 4.快速複製至剪貼簿

缺字查詢系統(Web)

資料庫處理 典藏系統編碼 Big5 資料庫編碼 構字式轉unicode跳脫字元 JAVA Bean

構字式轉unicode跳脫字元 public String getCode(String OriStr) { StringBuffer sb = new StringBuffer(); byte[] byteOriStr = OriStr.getBytes("ISO-8859-1"); int hiByte; int loByte; for (int k = 0; k < byteOriStr.length; k++) { if (byteOriStr[k] < 0 && k < byteOriStr.length - 1) { // 非英數字 hiByte = byteOriStr[k]; loByte = byteOriStr[k + 1]; hiByte = (hiByte > 0) ? (hiByte) : (hiByte & 0xFF); // 轉為 正值 loByte = (loByte > 0) ? (loByte) : (loByte & 0xFF); int big5code = hiByte * 256 + loByte; // Big 5碼 if (hiByte == 0xF9 && loByte > 0xD5 && loByte < 0xFF) { // 判斷是否為倚天擴充字與特殊字碼區 sb.append(getETCode(loByte)); } // if () 倚天字碼區 else if ( (big5code >= 0x8140 && big5code <= 0x8DFE) || (big5code >= 0x8E40 && big5code <= 0xA0FE) || (big5code >= 0xC6A1 && big5code <= 0xC8FE) || (big5code >= 0xFA40 && big5code <= 0xFEFE)) { // 判斷是否為中文造字區 sb.append(getMissCharCode(hiByte, loByte)); } // if () 中文造字區 else { // 其它 - 一般中文 byte dbcs[] = new byte[2]; dbcs[0] = byteOriStr[k]; dbcs[1] = byteOriStr[k + 1]; sb.append(new String(dbcs)); } k++; else { // 英數字 sb.append( (char) byteOriStr[k]); } // for(int k = 0; k < OriStr.length(); k++) return sb.toString();

構字式轉unicode跳脫字元(cont.1) private String getETCode(int loByte) { String ETCode = ""; switch (loByte) { case 0xD6: ETCode = "碁"; break; case 0xD7: ETCode = "銹"; . case 0xFE: ETCode = "▓"; default: } // switch () return ETCode; }

構字式轉unicode跳脫字元(cont.2) private String getMissCharCode(int hiByte, int loByte) { String MissCharCode = ""; int big5code = hiByte * 256 + loByte; int MISS_CHAR_BASE = 0; int MISS_CHAR_START = 0; if (hiByte >= 0x81 && hiByte <= 0x8D) { MISS_CHAR_BASE = 0x6D78; MISS_CHAR_START = 0x81; } else if (hiByte >= 0x8E && hiByte <= 0xA0) { MISS_CHAR_BASE = 0x54D1; MISS_CHAR_START = 0x8E; else if (hiByte >= 0xC6 && hiByte <= 0xC8) { MISS_CHAR_BASE = 0x3032; MISS_CHAR_START = 0xC6; else if (hiByte >= 0xFA && hiByte <= 0xFE) { MISS_CHAR_BASE = -0x1A40; MISS_CHAR_START = 0xFA; int offset = MISS_CHAR_BASE - 0x63 * (hiByte - MISS_CHAR_START); if (loByte >= 0xA1 && loByte <= 0xFE) { offset = offset - 0x22; int unicode = big5code + offset; MissCharCode = "&#x" + (Integer.toHexString(unicode)).toUpperCase() + ";"; return MissCharCode;

構字式(缺字)呈現 網頁處理 Java Applet Java Script Java Bean 缺字圖型產生程式 CGI C#

Q & A