0 голосов
520 просмотров

Я замечаю то, что кажется двоичным различием между некоторыми идентификаторами терминов, которые появляются в Major Biblical Terms, и теми, которые используются в файлах рендеринга проекта. Совпадающие идентификаторы терминов визуально выглядят одинаково, если открыть XML в редакторе. Но я прототипирую плагин, и мой код обнаружил это различие. Возможно, это что-то вроде составной и несоставной форм, но я совсем не знаю иврит. Я публикую ссылки на две версии идентификатора термина Shem. Одна из Major Biblical Terms. Другая из TermRenderings.xml в одном из моих проектов. Оба идентификатора выглядят одинаково, но просмотрщик двоичных файлов показывает, что они различаются.
Спасибо за любые предложения.
stevepence

Shem из файла Renderings
Shem из Major Terms

Переведено машиной с языка English
Paratext от (127 очков) | 520 просмотров

4 Ответов

0 голосов
Лучший ответ

Это, вероятно, больше деталей, чем вам хотелось бы знать, но вот мое мнение по вопросам нормализации иврита. Unicode разработал канонический порядок диакритических знаков, который был не идеален с лингвистической точки зрения. Поскольку порядок диакритических знаков между не взаимодействующими диакритическими знаками может быть произвольным, они решили не менять порядок, когда их об этом просили. Но есть некоторые ситуации, когда порядок важен для взаимодействующих диакритических знаков в иврите, и этот порядок теряется при нормализации. Чтобы обойти это, люди используют CGJ (U+034F), чтобы разрешить другой порядок диакритических знаков. Это следует рассматривать как часть написания слова.

Пока все это обсуждалось, шрифты часто не были спроектированы для обработки канонического порядка Unicode. Но это давно исправлено, и шрифты прекрасно справляются с текстом в каноническом порядке Unicode.

Все это к тому, что я не вижу причин, по которым данные не должны храниться в любой из нормальных форм Unicode (NFC, NFD, которые, я думаю, идентичны в иврите), но если у вас есть устаревшие данные (старые данные Unicode), то при нормализации следует проявлять осторожность. В частности, проверьте слово «Иерусалим» (по моему туманному воспоминанию о словах, содержащих проблемы с порядком диакритических знаков), которое должно содержать CGJ (или внимательно посмотрите на визуальное представление перед вами).

Что касается примера Лорны, с этими двумя диакритическими знаками не должно быть проблем, поскольку они не взаимодействуют (один сверху, один снизу).

Переведено машиной с языка English
от (656 очков)
0 голосов

Чтобы узнать, какие символы содержатся в строке, вы можете использовать UniView 14. Вставьте ваш текст в поле, где написано «text area», затем нажмите на стрелку вниз, расположенную прямо под полем текста, и вы увидите список символов (форма символа, значение Unicode и описание).

Если ваше предположение верно и различие вызвано формой нормализации, возможно, вам стоит включить этап нормализации в ваш плагин.

Переведено машиной с языка 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 голосов

Спасибо всем, кто ответил. Ответы всех были чрезвычайно полезны для понимания этой проблемы. Я очень благодарен!

Я не стал бы утверждать, какой файл имеет «правильные» кодировки — это, безусловно, сложная тема. Моя очень ограниченная забота заключается в том, чтобы иметь возможность использовать идентификаторы как однозначные ключи к наборам данных. Очевидно, что инструмент Biblical Terms способен правильно связывать идентификаторы в разных файлах, несмотря на различия в их двоичном представлении, предположительно с помощью нормализации на лету.

Поскольку я в настоящее время только прототипирую, это настолько глубоко, насколько мне нужно идти сейчас. Когда я перейду к кодированию самого плагина, мне нужно будет разобраться в деталях того, как PT делает то, что он делает в этой области.

Теперь я гораздо лучше понимаю проблему. Спасибо всем!

stevepence

Переведено машиной с языка English
от (127 очков)

В Paratext все идентификаторы терминов и идентификаторы рендеринга нормализуются до формата NFC при загрузке, чтобы обойти эту проблему. Фактически, почти все данные нормализуются внутренне при сравнении двух строк из-за этой проблемы. Я считаю это проблемой проектирования Unicode, но это другая тема. :stuck_out_tongue_winking_eye:

ПРАВКА: Также, если вы создаете плагин для Paratext, вам следует использовать IProject.GetBiblicalTermRenderings и IPluginHost.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,4тыс. задал вопрос мар 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 задал вопрос янв 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 задал вопрос янв 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
задал вопрос фев 23, 2017
0 голосов
2 ответов 639 просмотров
У нас есть пользователь, у которого есть ряд переводов, связанных со списком NT Key Biblical Terms. Он ... будет полезно иметь термины в алфавитном порядке. Спасибо, james_post
[Moderator]
james_post
2,1тыс.
задал вопрос ноя 10, 2021
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Accept the one whose faith is weak, without quarreling over disputable matters.
Romans 14:1
3,048 вопросов
6,007 ответов
5,672 комментариев
2,028 пользователей