Por que eu deveria usar os caracteres especiais do Unicode para números romanos?


43

Isso é para responder a uma pergunta que surgiu nos comentários dessa pergunta sobre os caracteres Unicode para números romanos:

Por que isso é necessário ou preferível à maneira usual de digitar ai, ai-ai, ai-ai-ai, vee-ai, etc.?

Para começar do início, no bloco Formulários numéricos do Unicode , existem pontos de código para algarismos romanos que, à primeira vista, são muito semelhantes em aparência às letras latinas maiúsculas padrão ou suas combinações (U + 2160 - U + 217F). Por exemplo, U + 2165 (algarismo romano seis) se parece muito com VI (letra maiúscula latina V e letra maiúscula latina I).

Assim, surge a questão de por que não se deve usá-lo para representar esses dígitos e, por exemplo, digitar em Louis VIIvez de Louis Ⅶ. Obviamente, o uso de caracteres especiais evita problemas de compatibilidade com fontes que não os suportam. Mas mesmo que eu saiba que o texto será renderizado com uma fonte que suporte esses caracteres, por que devo me preocupar em usá-los?

Respostas:


56

Em muitas fontes, você encontrará praticamente nenhuma diferença entre usar os caracteres Unicode para algarismos romanos e apenas compor com letras latinas comuns. Por exemplo, o seguinte mostra Louis VII(acima) e Louis Ⅶ(abaixo, usando pontos de código para números romanos) renderizados com o FreeSans:

insira a descrição da imagem aqui

Além de uma pequena diferença no espaçamento, que provavelmente não era intencional, a saída é idêntica.

Aqui está o mesmo texto renderizado com o DejaVu Sans:

insira a descrição da imagem aqui

Enquanto os caracteres ainda parecem idênticos, há uma diferença considerável no espaçamento. Pode ser uma questão de gosto se o último é preferível para números romanos, mas certamente não seria uma boa escolha de kerning para maiúsculas regulares.

O Linux Libertine vai um passo além:

insira a descrição da imagem aqui

Aqui, os algarismos romanos são um pouco menores que as letras maiúsculas, correspondendo, assim, aos algarismos arábicos da fonte. Mais importante, eles estão conectados, reproduzindo um recurso frequentemente encontrado em algarismos romanos desenhados à mão.

Agora, alguns ainda podem argumentar que não há melhorias no exposto acima ou que não valem o esforço. Então, aqui está um caso em que a não utilização dos caracteres Unicode produzirá resultados horríveis:

insira a descrição da imagem aqui

(Observe que o tamanho pequeno dos numerais reflete alguma composição histórica real.) Algo semelhante pode ocorrer para fontes de script ou caligráficas.

Sem pontos Unicode específicos para números romanos, dissolver o último problema só seria possível com:

  • Usando um recurso OpenType complexo (ou semelhante) que tenta detectar se uma sequência de letras maiúsculas é um numeral romano. Isso inevitavelmente causará problemas com palavras que também seriam um número romano válido.

  • Usando um simples recurso OpenType, que precisa ser ativado manualmente para cada numeral romano.

  • Usando a área de uso privado do Unicode. É provável que ocorram problemas de compatibilidade, mesmo ao alternar entre duas fontes que suportam números romanos.

Do ponto de vista do Unicode, a enorme diferença semântica entre letras latinas maiúsculas e números romanos já deveria ser suficiente para uma codificação separada de números romanos.


Até que ponto os algarismos romanos apresentam algum problema diferente de siglas e inicialismos, os quais seriam tratados adequadamente se uma fonte incluísse um conjunto de letras maiúsculas? Eu esperaria que os cenários em que "VII" devessem ser mostrados usando maiúsculas e não pequenas maiúsculas fossem os mesmos que onde "NATO" ou "PM" deveriam ser mostrados da mesma forma. Embora talvez seja bom ter uma maneira de conectar barras cruzadas com "VII", mas não com "VIP", não tenho certeza se as barras cruzadas devem ser conectadas quando números são usados no texto .
supercat

Muito bom adicionou um pouco a sua semântica expandida, mas se você quiser incorporar sua resposta, sinta-se à vontade para remover a mina e remover a minha.
Joojaa 5/03

@supercat: Não sei exatamente o que você deseja, mas, na minha experiência, na tipografia moderna, os algarismos romanos sempre têm tamanho maiúsculo, enquanto em outras línguas que não o alemão, é possível usar letras minúsculas para abreviações de letras maiúsculas. Na tipografia com letras negras, você usaria uma fonte romana para abreviações de letras maiúsculas e minúsculas, mas às vezes você usaria números romanos menores (como acima) e, em algumas ocasiões muito especiais, usaria letras maiúsculas.
Wrzlprmft

@Wrzlprmft: eu esperaria que números romanos fossem impressos do mesmo tamanho de coisas como "PM" ou "OTAN"; em alguns contextos, essas coisas são impressas como maiúsculas em tamanho real, mas em outros, que as faz sobressair demais. Se uma fonte tivesse um conjunto de letras maiúsculas cujo design, em relação ao restante da fonte, fosse apropriado para "PM" ou "OTAN", eu pensaria que também seria adequado para algarismos romanos.
supercat

@ supercat: Para fonte romana comum, sim (embora se possa argumentar se isso seria a melhor coisa a fazer). Mas e as fontes de letra preta e de script? Além disso, o que você conclui disso?
Wrzlprmft

27

TL; DR O consórcio Unicode recomenda o uso da letra latina sempre que possível e não do número, que foi incluído para compatibilidade com a tipografia do Leste Asiático.

A história completa: (com justificativa da afirmação acima)

A menos que você esteja fazendo alguma tipografia do Leste Asiático, o uso de caracteres numéricos romanos (não arcaicos) do unicode (U + 2160 - U + 217F) é um hack.

Esses caracteres foram incluídos para compatibilidade com os padrões pré-Unicode do Leste Asiático. Esses caracteres permanecem verticais onde o texto do leste asiático é digitado de cima para baixo, enquanto, geralmente, o texto em caracteres latinos (por exemplo, nomes) é escrito de lado nesse contexto.

Para citar a última versão do padrão Unicode (v 7.0, cap. 22, p. 20) :

Números romanos. Para a maioria dos propósitos, é preferível compor os algarismos romanos a partir de sequências das letras latinas apropriadas. No entanto, as variantes maiúsculas e minúsculas dos algarismos romanos a 12, mais L, C, D e M, foram codificadas no bloco Formulários numéricos (U + 2150..U + 218F) para compatibilidade com os padrões do Leste Asiático. Ao contrário das seqüências de letras latinas, esses símbolos permanecem na vertical no layout vertical. Além disso, em alguns locais, os formatos compactos de data usam números romanos para o mês, mas podem esperar o uso de um único caractere.

Portanto, em teoria, a distinção entre algarismos romanos e letra é uma questão de rich text, como itálico, alteração de fonte ou ligaduras opcionais. Dito isto, como mostra a @Wrzlprmft, algumas fontes a usam para evitar uma alteração de fonte para cada número romano, mantendo uma boa tipografia.

A existência de um caractere para XII e não para XIII implica que existem várias codificações diferentes no mesmo número, o que leva a dificuldades na pesquisa de texto: se você escrever sobre Luís XII e Luís XIII, provavelmente escreverá XIII como X + I + I + I, mas você escreverá XII como um único personagem? Ou como X + I + I para ter uma exibição consistente com XIII? Não existe uma boa resposta para essa pergunta ao usar os caracteres numéricos romanos, e é por isso que o consórcio Unicode recomenda o uso de letras latinas quando possível, e não os números.

Edit: adicionada a asserção TL; DR no início


9
" o consórcio Unicode recomenda o uso de letras latinas quando possível, e não os números." Isso deve ser muito mais proeminente do que é atualmente.
Ixrec 6/03/2015

11
Do ponto de vista da semântica Unicode, essa é de longe a melhor resposta aqui. Pode haver razões práticas com certas fontes para preferir os caracteres numéricos romanos, e isso é obviamente uma consideração independente do design gráfico, mas semanticamente elas estão sempre erradas.
R ..

13

De uma perspectiva de como parece, pode não haver muita diferença. Portanto, se você publicar apenas material impresso, não haverá diferença, exceto em algumas fontes, como Wrzlprmft aponta em sua excelente resposta.

Semântica é importante

A diferença semântica é enorme. Ao usar algarismos romanos, fica evidente que você está falando do número 5 em vez da letra V. Certamente eles parecem iguais, mas significam diferentes. Isso significa que o mecanismo de pesquisa pode ter uma chance maior de encontrar a "XX marca V" ao pesquisar na "XX versão 5".

De fato, a razão pela qual algumas coisas funcionam mal é porque não incorporamos informações semânticas. O mundo seria, de fato, um lugar melhor, se quiséssemos. Portanto, usar o significado semântico correto é o mesmo que usar estilos em um processador de texto versus estilizar manualmente. Há pouca diferença no lado humano, mas grande poder na automação.

As fontes devem formar diferentes algarismos romanos

Os criadores de fontes não os estão usando porque não são usados ​​com muita frequência. Mas, usando essas informações, você pode obter as lajes dos números romanos nas letras que as diferenciam do texto. Portanto, o recurso é subutilizado porque é um uso raro. As fontes realmente não implementam tudo, nem deveriam. Ao usá-los, você se beneficiaria se eles estiverem presentes.

Conclusão

Isso tudo é certamente um problema de galinha e ovo. Se as pessoas não usarem os intervalos de caracteres especiais, nenhuma permissão especial para esses intervalos será feita. Portanto, a fonte não suporta literais romanos com estilo especial, porque isso seria desperdiçar esforço em recursos que ninguém usa. O mesmo se aplica à pesquisa: se ninguém usar literais romanos, nenhum mecanismo de pesquisa encontrará literais romanos e a semântica será perdida. A semântica sofre por não adotar o significado semântico correto. O mesmo se aplica certamente a uma gama mais ampla de caracteres Unicode.

Quanto à complexidade da entrada, sim, a maioria dos usuários não pode escrever caracteres estendidos, mas isso não é desculpa para uma pessoa experiente pular isso, se fizer sentido. Se ninguém melhorar as coisas, nunca haverá progresso. Inferno mesmo palavra tem modos para escrever alfa, digitando / alfa. Portanto, não há realmente nenhuma razão para que não possa haver uma maneira fácil de marcar números ou até sugerir automaticamente esses números. Novamente, se ninguém fizer isso, nunca haverá uma adoção mais ampla.


Na verdade, um mecanismo de pesquisa retorna resultados muito melhores ao pesquisar "Louis VII" em vez de "Louis Ⅶ", provavelmente porque, na realidade, a maior parte do conteúdo é gerada com ferramentas que não permitem uma distinção semântica tão fina.
xpereta 6/03/2015

11
@xpereta sim, porque as pessoas não se importam com a semântica. No entanto, se o fizessem, você combinaria facilmente 7 para os números também. Grande parte da ineficiência do mundo ocorre porque as pessoas não consideram importante apontar explicitamente a diferença semântica das coisas quando poderiam fazê-lo facilmente. O computador realmente não sabe a diferença, mesmo que um humano faria
joojaa

11
@joojaa Nesse caso, provavelmente tem mais a ver com o fato de VII ser ordens de magnitude mais fáceis de digitar do que Ⅶ. Não tenho certeza se isso vai mudar.
Ixrec 6/03/2015

Eu expandiria o último parágrafo um pouco para concluir sua conclusão de que o uso mais amplo de caracteres especiais como esse encorajaria uma implementação mais ampla da fonte.
Nathan Tuggy

2
Eu questiono fortemente essa resposta com relação à semântica. Os caracteres numéricos romanos Unicode são <compat>equivalentes às seqüências correspondentes de letras latinas, o que sugere fortemente que a única razão pela qual eles estão no Unicode é pela compatibilidade de ida e volta com alguns conjuntos de caracteres herdados (provavelmente CJK) que os possuíam. Esses caracteres geralmente não devem ser usados, exceto documentos de ida e volta fielmente criados em codificações legadas.
R ..
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.