Фон

Фон

Фон

Документ Markdown преобразуется в XHTML. Документ XHTML кодирует кавычки и апострофы с использованием именованных сущностей, таких как “и '.

Примечание: Перенесено в список рассылки на случай, если это регресс.

Версия: 2022.09.11 20:44

Проблема

Апострофы выводятся как прямые кавычки, а не как загнутые. Это удивительно, потому что (a) это работало в предыдущей версии; и (b) другие сущности выводятся, как и ожидалось, как показано здесь:

прямой апостроф

Код

Вот пример:

\xmltexentity{apos}{’}
\xmltexentity{lsquo}{‘}
\xmltexentity{rsquo}{’}
\xmltexentity{laquo}{«}
\xmltexentity{raquo}{»}

\startbuffer[document]
<body>
  &lsquo;Sylvia&apos;s spilled &laquo;wine&raquo;.&rsquo;
</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:в тексте перед апострофом, в дополнение к его загибанию.

Вопрос

Как свернуть символ апострофа ( &apos;)?

решение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 &lsquo; to internal '

Связанный контент