
Фон
Документ Markdown преобразуется в XHTML. Документ XHTML кодирует кавычки и апострофы с использованием именованных сущностей, таких как “
и '
.
Примечание: Перенесено в список рассылки на случай, если это регресс.
Версия: 2022.09.11 20:44
Проблема
Апострофы выводятся как прямые кавычки, а не как загнутые. Это удивительно, потому что (a) это работало в предыдущей версии; и (b) другие сущности выводятся, как и ожидалось, как показано здесь:
Код
Вот пример:
\xmltexentity{apos}{’}
\xmltexentity{lsquo}{‘}
\xmltexentity{rsquo}{’}
\xmltexentity{laquo}{«}
\xmltexentity{raquo}{»}
\startbuffer[document]
<body>
‘Sylvia's spilled «wine».’
</body>
\stopbuffer
\startxmlsetups xml:xhtml
\xmlsetsetup{\xmldocument}{body}{xml:*}
\stopxmlsetups
\startxmlsetups xml:body
\xmlflush{#1}
\stopxmlsetups
\xmlregistersetup{xml:xhtml}
\starttext
\xmlprocessbuffer{xhtml}{document}{}
\stoptext
Следующий код помогает дополнительно продемонстрировать проблему:
\xmltexentity{apos}{AP:’}
\xmltexentity{lsquo}{LQ:‘}
\xmltexentity{rsquo}{’:RQ}
Производит:
Я бы ожидал увидеть AP:
в тексте перед апострофом, в дополнение к его загибанию.
Вопрос
Как свернуть символ апострофа ( '
)?
решение1
Как свернуть символ апострофа (')?
Можете добавить
\definefontfeature[default][default][trep=yes]
в начало документа.
на случай, если это регресс.
В каком-то смысле это регресс, поскольку то, что раньше работало, теперь не работает, нопо словам Ганса, это теперь предполагаемое поведение. Лично я считаю, что это trep=yes
должно быть значением по умолчанию, но я также могу понять нежелание изменять входные файлы по умолчанию.
Я бы ожидал увидеть AP: в тексте перед апострофом, в дополнение к его загибанию.
Похоже, что ConTeXt не позволяет переопределять какие-либо предопределенные сущности. Выполнение:
\enabletrackers[xml.entities]
\xmltexentity{apos}{XXX}
\xmltexentity{lsquo}{YYY}
\xmltexentity{rsquo}{ZZZ}
\xmltexentity{laquo}{«}
\xmltexentity{raquo}{»}
дает тебе
xml > tex > registering tex entity 'apos' as 'XXX'
xml > tex > registering tex entity 'lsquo' as 'YYY'
xml > tex > registering tex entity 'rsquo' as 'ZZZ'
xml > tex > registering tex entity 'laquo' as '«'
xml > tex > registering tex entity 'raquo' as '»'
xml > core > resolving entity ‘ to internal '