Fundo

Fundo

Fundo

Um documento Markdown é convertido em XHTML. O documento XHTML codifica aspas e apóstrofos usando entidades nomeadas, como “e '.

Nota: Postagem cruzada na mailing list, caso se trate de uma regressão.

Versão: 2022.09.11 20:44

Problema

Os apóstrofos são exibidos como aspas retas, em vez de aspas enroladas. Isto é surpreendente porque (a) estava funcionando em uma versão anterior; e (b) as outras entidades são produzidas conforme esperado, mostrado aqui:

apóstrofo direto

Código

Aqui está um exemplo:

\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

O código a seguir ajuda a demonstrar melhor o problema:

\xmltexentity{apos}{AP:’}
\xmltexentity{lsquo}{LQ:‘}
\xmltexentity{rsquo}{’:RQ}

Produz:

citações esquerda/direita

Eu esperaria ver AP:no texto antes do apóstrofo, além de enrolá-lo.

Pergunta

Como você enrola a entidade de caractere apóstrofo ( &apos;)?

Responder1

Como você enrola a entidade de caractere apóstrofo (')?

Você pode adicionar

\definefontfeature[default][default][trep=yes]

para o início do seu documento.

caso isso seja uma regressão.

Em certo sentido, é uma regressão, já que algo que costumava funcionar agora não funciona, masde acordo com Hans este é agora o comportamento pretendido. Pessoalmente, acho que esse trep=yesainda deveria ser o padrão, mas também entendo não querer modificar os arquivos de entrada por padrão.

Eu esperaria ver AP: no texto antes do apóstrofo, além de enrolá-lo.

Parece que o ConTeXt não permitirá redefinir nenhuma entidade predefinida. Correndo:

\enabletrackers[xml.entities]

\xmltexentity{apos}{XXX}
\xmltexentity{lsquo}{YYY}
\xmltexentity{rsquo}{ZZZ}
\xmltexentity{laquo}{«}
\xmltexentity{raquo}{»}

da-te

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 '

informação relacionada