0
521 次瀏覽

我注意到,出現在 Major Biblical Terms 中的某些術語 ID,與專案渲染檔案(project rendering files)中使用的 ID 之間,似乎存在二進位上的差異。如果在編輯器中開啟 XML 檔案,這些配對的術語 ID 在視覺上看起來完全一樣。但我正在開發一個外掛程式的原型,我的程式碼偵測到了這個差異。也許是類似「已組字元(composed)」與「未組字元(uncomposed)」的差異,但我完全不懂希伯來文。我貼上 Shem 這個術語 ID 的兩個版本的連結。一個來自 Major Biblical Terms,另一個來自我某個專案中的 TermRenderings.xml。這兩個 ID 看起來一樣,但二進位檔案檢視器顯示它們是不同的。
感謝任何建議。
stevepence

來自渲染檔案的 Shem
來自 Major Terms 的 Shem

機器翻譯自 English
Paratext (127 點) 提出 | 521 次瀏覽

4 個回答

0
最佳回答

這可能比您想要的細節更多,但以下是我對希伯來文正規化問題的看法。Unicode 制定了一個標準變音符號順序(canonical diacritic order),但在語言學上並非理想。由於非互動變音符號之間的順序可以是任意的,他們決定在被要求時不更改順序。但在希伯來文中,有些情況下互動變音符號的順序很重要,而正規化會導致這種順序丟失。為了解決這個問題,人們使用 CGJ(U+034F)來允許不同的變音符號順序。這應被視為單字拼寫的一部分。

在這些問題被討論解決的同時,字型通常未設計為能處理 Unicode 標準順序。但這早已修復,字型現在可以完美處理 Unicode 標準順序的文字。

總之,我認為沒有理由不將資料儲存為 Unicode 正規形式(NFC、NFD,我認為在希伯來文中這兩者是相同的),但如果您有一些舊資料(舊的 Unicode 資料),則在正規化時應小心。特別是檢查耶路撒冷(Jerusalem)這個單字(根據我模糊的記憶,這是包含變音符號順序問題的單字之一),它應該包含一個 CGJ(或者仔細查看其視覺表示)。

至於 Lorna 的例子,這兩個變音符號之間應該沒有困難,因為它們是非互動的(一個在上方,一個在下方)。

機器翻譯自 English
(656 點) 提出
0

若要找出字串中包含哪些字元,您可以使用 UniView 14。將您的文字貼到標示為「text area」的方框中,然後點擊文字方框正下方的向下箭頭,您就會看到字元清單(字元形狀、Unicode 值及描述)。

如果您的猜測正確,且差異是由於正規化形式(normalization form)造成的,您可能需要在您的外掛程式中加入正規化步驟。

機器翻譯自 English
(296 點) 提出
0

ShemFrompmcdblRendering.txt 的編碼字串:U+05E9 U+05B5 U+05C1 U+05DD
ShemFromMajorTerms.txt 的編碼字串:U+05E9 U+05C1 U+05B5 U+05DD

如果我們查看 Unicode 屬性,我認為 ShemFromMajorTerms.txt 的編碼有誤,Major Terms 文件可能需要進行正規化。
注意:我知道希伯來文有一些 Unicode 正規化問題,而且我不清楚在哪些情況下不應該遵循正規化。

機器翻譯自 English
(329 點) 提出

stevepence,
我懷疑隨著越來越多的組織撰寫自己的外掛程式,其他人也可能會遇到您的問題。這並沒有影響 Paratext 的使用者,但顯然如果您正在撰寫外掛程式,它會影響到您。如果 Major Biblical terms 清單沒有使用希伯來文編碼的最佳實務,也許您可以與 anon291708 討論您的需求。

機器翻譯自 English
0

感謝所有回覆的人。每個人的回應對於理解這個問題都非常有幫助。我非常感激!

我不會妄加評論哪個檔案具有「正確」的編碼——這絕對是一個複雜的話題。我有限的關注點在於能夠無歧義地使用這些 ID 作為資料集的鍵。顯然,Biblical Terms 工具能夠正確連結不同檔案中的 ID,儘管它們的二進位表示不同,推測是透過即時的正規化實現的。

由於我目前僅在製作原型,現在只需要深入到此程度。一旦我開始編寫外掛程式本身,我就需要深入研究 PT 在此領域是如何運作的細節。

現在我對這個問題有了更深的理解。感謝大家!

stevepence

機器翻譯自 English
(127 點) 提出

在 Paratext 中,所有術語 ID 和渲染 ID 在載入時都會正規化為 NFC 格式,以解決這個問題。事實上,由於這個問題,幾乎所有資料在比較兩個字串時都會在內部進行正規化。我認為這是 Unicode 的設計問題,但那是另一個話題。:stuck_out_tongue_winking_eye:

編輯:另外,如果您正在製作 Paratext 外掛程式,您應該使用 IProject.GetBiblicalTermRenderingsIPluginHost.GetBiblicalTermList / IProject.BiblicalTermList 來處理 Biblical Terms——這應該可以避免這個問題。

機器翻譯自 English

謝謝。目前我仍在 VBA 中工作,以完成原型並獲取使用者回饋。我還沒有開始使用 api 進行實際工作。我當然希望 api 能隱藏所有這些細節,但我感謝大家在理解這些問題上的幫助——即使我永遠不需要深入那裡。

stevepence

機器翻譯自 English

相關問題

0
2 個回答 199 次瀏覽
When downloading Paratext 8, I'm told: The Online file is smaller and may be used if you are installing while connected to the ... to download that extra 85Mb, if I don't have to.
jeffh 1.4k 提出 已提問 3月 23, 2017
0
3 個回答 409 次瀏覽
We have a problem with language IDs not matching which prevents the Interlinearizer from working. The KPZ project was registered ... or how I can look at those changes. Iver+Larsen
Iver Larsen 869 提出 已提問 1月 24, 2020
0
2 個回答 360 次瀏覽
In PT8 when I compare two project (of the same language) there were two arrows to go backwards or forwards to ... they do not work for difference between two different projects.
anon784407 105 提出 已提問 1月 13, 2020
0
0 個回答 154 次瀏覽
Biblical Term rendering discussion not | Biblical Term rendering description e | The entire history leading to a deci ... Terms tool. See also: Introduction to Biblical Term notes
[Expert]
anon421222
735 提出
已提問 2月 23, 2017
0
2 個回答 639 次瀏覽
我們有一位使用者,其新約關鍵聖經術語清單(NT Key Biblical Terms list)中關聯了許多譯法 他們希望開始使用主要聖經術語清單(Major Biblical Terms list) 這些清單之間不會自動連結,因為新約清單是基於英 ... 會改變術語本身的順序 我認為在這個過程中,讓術語保持字母順序會很有幫助 謝謝, james_post
[Moderator]
james_post
2.1k 提出
已提問 11月 10, 2021
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Live in harmony with one another. Do not be proud, but be willing to associate with people of low position. Do not be conceited.
Romans 12:16
3,048 個問題
6,007 個回答
5,672 則評論
2,028 位使用者