Skip to content

Commit

Permalink
ToneOZDic澳聲通字典工具整合
Browse files Browse the repository at this point in the history
  • Loading branch information
jeffreyxuan committed Jun 1, 2021
1 parent 322da91 commit 0cebf9b
Show file tree
Hide file tree
Showing 278 changed files with 2,339 additions and 10 deletions.
11 changes: 11 additions & 0 deletions ime/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@

本詞庫目前原則上收錄《國語一字多音審訂表(初稿)》的讀音。

## 字典

在按下 「開始」 後的編輯模式中,點選右下角 「字典」 可開啟 《國語字典簡編本》 輔助查詢字義及標準讀音。

## 協作邀請 (詞庫)

poyin_db.txt 收錄了所有 phonetic/phonic_table_Z.txt 裡所有多音字的每個讀音。
Expand Down Expand Up @@ -60,5 +64,12 @@ poyin_db.txt 收錄了所有 phonetic/phonic_table_Z.txt 裡所有多音字的

另外,本注音字型規格其實還有提供U+E01E0異體,可顯示為不帶注音符號(只有國字部分)。不過此輸入工具目前也未支援選擇這個模式。

## 協作邀請 (字典)

本工具字典檔資料來自於教育部國語辭典公眾授權網 《<a href="https://language.moe.gov.tw/001/Upload/Files/site_content/M0001/respub/dict_concised_download.html">國語辭典簡編本</a>》,採用「CC BY-ND 3.0」授權。

字典工具來自於開源字典架構 「<a href="https://github.com/jeffreyxuan/ToneOZDic">ToneOZDic澳聲通字典</a>」 ,採用 MIT 授權。 此字典工具支援使用者自行製作字典檔,請參考 <a href="https://github.com/jeffreyxuan/ToneOZDic/blob/main/README.md">字典檔生成器使用說明</a>。



歡迎 Pull Request,或自行 fork 新專案。
35 changes: 28 additions & 7 deletions ime/ime.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ function chr(uni) {
0xdc00 | ((uni-0x10000) & 0x03ff));
}

function match(c, i, p, j) {
function match(c, i, p, j, onlydic) {
var pos = p.indexOf('*');
if (i-pos<0) return false;
if (i-pos+p.length>text.length) return false;
Expand All @@ -18,11 +18,27 @@ function match(c, i, p, j) {
for (var z=i-pos; z<i-pos+p.length; z++) tmp += text[z].charAt(0);
if (tmp != p.replace(/\*/g, c)) return false;

var phrase = p.replace("*",c);
for (var x=0; x<p.length; x++) {
if (p.charAt(x) == '*') {
var a = i-pos+x;
var a = i-pos+x;
var spobj = $('#sp' + a);
var phraseattr = spobj.attr("phrase");
if(phraseattr === undefined){
phraseattr = phrase;
} else {
var phrasearr = phraseattr.split(",");
if(phrasearr.indexOf(phrase)<0){
phrasearr.push(phrase);
}
phraseattr = phrasearr.join(",");
}

var spDom = spobj.attr({
"phrase":phraseattr
});
if (p.charAt(x) == '*' && !onlydic) {
text[a] = c + (j > 0 ? chr(vsbase + j*1) : '');
$('#sp' + a).text(text[a]).addClass('auto');
spDom.text(text[a]).addClass('auto');
}
}
}
Expand All @@ -32,14 +48,19 @@ function autoSelect() {
var t = text[i];
var c = t.charAt(0);
if (!data[c]) continue;
if (t.length > 1) continue;
var onlydic = false;
if (t.length > 1) {
// For IVS char, do not overwrite the inserted text
onlydic = true;
};
//if (t.length > 1) continue;
if (!data[c].v) continue;

here: for (var j in data[c].v) {
if (!data[c].v[j]) continue;
var list = data[c].v[j].split('/');
for (var n=0; n<list.length; n++) {
if (match(c, i, list[n], j)) break here;
if (match(c, i, list[n], j, onlydic)) break here;
}
//console.log(list);
}
Expand Down Expand Up @@ -135,7 +156,7 @@ $('#start').click(function() {
$('#start').hide();
$('#info2').show();
$('#info1').hide();

setEditorText(t);
});

Expand Down
7 changes: 4 additions & 3 deletions ime/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
#input { font-family: ZY; height: 100%; font-size: 32px; line-height: 1.5; background: #fff; width: 100%; padding: 0; vertical-align: bottom; }
#editor { font-family: ZY; height: 100%; font-size: 32px; line-height: 1.5; background: #fff; overflow: auto; padding: 0; display: none; border: 1px solid #777 }

#panel { box-sizing: border-box; width: 100%; height: 106px; padding: 10px; background: #b0ebe4; user-select: none }
#panel { box-sizing: border-box; width: 100%; height: 106px; padding: 10px; background: #b0ebe4; user-select: none; }
#panel .navi { float: left; font-size: 30px; line-height: 80px; color: #fff; cursor: pointer }
#selector { float: left; width: 706px; font-family: ZY; font-size: 68px; line-height: 1.2; border-radius: 15px; }
#selector span { background-color: #ddd; float: left; margin: 0 5px; border-radius: 15px; padding-left: 5px; cursor: pointer }
Expand All @@ -32,7 +32,6 @@
span.fuzzy { background: #f7b0c0; }
span.auto { background: #f7cfb0; }
span.ok { background: #98fade; }

</style>
<body>

Expand All @@ -45,7 +44,7 @@
<span class="p ok"></span>已選擇讀音
</div>
<div id="main">
<textarea id="input"></textarea>
<textarea id="input">學校長</textarea>
<div id="editor">abs</div>
</div>
<div id="panel">
Expand All @@ -64,4 +63,6 @@
<script src="jquery.min.js"></script>
<script src="poyin_db.js" charset="utf-8"></script>
<script src="ime.js" charset="utf-8"></script>
<script src="tzdic/tzdicui.js" charset="utf-8"></script>
<script src="zhdicui.js" charset="utf-8"></script>
</html>
1 change: 1 addition & 0 deletions ime/tzdic/tzdata/1.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/10.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/100.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/101.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/102.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/103.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/104.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/105.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/106.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/107.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/108.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/109.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/11.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/110.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/111.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/112.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/113.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/114.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/115.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/116.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/117.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/118.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/119.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/12.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/120.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/121.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/122.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/123.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/124.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/125.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/126.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/127.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/128.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/129.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/13.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/130.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/131.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ime/tzdic/tzdata/132.js

Large diffs are not rendered by default.

Loading

0 comments on commit 0cebf9b

Please sign in to comment.