Fonte Courier New-like com suporte Unicode?


8

Sou programador e estou realmente acostumado com a fonte Courier New. Eu sou bastante exigente quanto a isso - acho que outras fontes (incluindo outras fontes monoespaciais) são feias em comparação.

No entanto, agora eu tenho que trabalhar em algum código que inclua seqüências de caracteres Unicode, e o Courier New não tem suporte completo para Unicode.

Alguém poderia recomendar uma fonte (monoespaçada) muito parecida com Courier New, mas com suporte a Unicode?



3
O Courier New tem uma cobertura Unicode muito melhor do que a maioria das fontes. Ajudaria se você nos dissesse exatamente quais caracteres / idiomas / scripts você precisava da cobertura.
thomasrutter

@ Thomashoutter: Preciso de cobertura de símbolos matemáticos e lógicos.
precisa saber é o seguinte

Respostas:


11

Poucos ou nenhum tipo de letra tem "suporte total para Unicode". O Unicode 6.0 possui 109.449 pontos de código. Do ponto de vista do design, é muito caro criar manualmente cada um desses glifos quando a maioria das pessoas usa apenas uma pequena fração deles, sem mencionar da perspectiva do tamanho do arquivo.

Courier New está realmente entre as fontes com suporte Unicode relativamente bom com 3248 glifos (em comparação, Lucida Sans Unicode tem apenas 1776).

As fontes MingLiU / PMingLiU também suportam uma gama muito ampla de pontos de código, mas isso ocorre porque são fontes CKJ (chinês, coreano, japonês) e a maioria dos pontos de código suportados são dos blocos CKJ. Portanto, a menos que você precise de uma fonte CKJ, eles não serão muito úteis. E mesmo assim, eles são divididos em ~ 6 fontes diferentes, cobrindo diferentes blocos de código com 30 a 40k pontos de código cada.

Para suporte a idiomas de uso geral, o Arial Unicode MS é o melhor que eu conheço. Possui suporte quase completo em 64 blocos de código diferentes, que cobrem 50.377 pontos de código.

Além disso, há apenas a fonte Unicode BMP Fallback SIL , que é uma fonte de depuração. Ele cobre todos os pontos de código Unicode 5.1, mas cada glifo é apenas uma caixa retangular que contém o código hexadecimal para esse ponto de código. E a maioria dos sistemas operacionais vem com essa fonte e a exibe quando uma fonte Unicode não possui um glifo para um caractere específico.

Quero dizer, é possível que exista um tipógrafo ou fundição maluca que tenha criado uma fonte com glifos para todos os pontos de código Unicode 5.1 ou 6.0, mas provavelmente seria muito, muito caro.

A maioria das pessoas prefere apenas fontes que cubram blocos de idiomas específicos e use várias fontes para fornecer suporte multilíngue completo. Especialmente porque diferentes famílias de idiomas têm estilos tipográficos intrinsecamente diferentes, então os glifos acabariam parecendo muito diferentes de qualquer maneira.

Edit: Como o Sr. Lister apontou, atualmente nenhuma fonte pode suportar o conjunto completo de caracteres Unicode, pois cada fonte pode conter apenas 65536 glifos no máximo. Você pode exceder esse limite com o TruTypeCollections, mas eles ainda serão fontes separadas, apenas em um único arquivo.


1
Obrigado por uma resposta detalhada. Eu não sabia que o Unicode era tão grande. Os caracteres Unicode no meu código são símbolos matemáticos e lógicos - você conhece uma fonte monoespaçada de aparência decente com suporte para eles?
precisa saber é o seguinte

4
@ HighCommander4: Então tudo o que você realmente precisa é do bloco Símbolos Matemáticos e dos blocos Operadores Matemáticos. Você pode ver a lista de blocos Unicode aqui . Ao clicar em cada uma, você pode encontrar uma lista de fontes comuns que suportam cada bloco. Ou apenas clique em uma das fontes e procure sua lista de blocos suportados, por exemplo, esta para o Code2000 , que mostra todos os blocos suportados e em que porcentagem.
Lèse majesté

2
Acho que li em algum lugar que 65536 glifos é o máximo que qualquer arquivo de fonte único pode conter; portanto, você nunca encontrará uma fonte com suporte Unicode "completo".
Lister

1
@ Sr. Lister: essa é provavelmente a limitação de alguns editores de fontes , mas os pontos de código Unicode sobem para E0FFF (ou 10FFFF, incluindo a área de uso privado). Portanto, para que uma fonte possa fazer referência a esses pontos de código de ponta, eles precisam fazer referência a qualquer coisa abaixo dela.
Lèse majesté

2
@ Lèsemajesté Não, isso não é verdade. As fontes não precisam conter todos os caracteres até aquele com o maior índice Unicode que eles possuem. Caso contrário, toda fonte compatível com Windows-1252 teria que conter mais de 8400 caracteres!
Sr. Lister

3

Experimente o Mono Grátis do GNU Free Font . Até agora, é a única fonte monoespaçada que encontrei que é legível e relativamente completa em termos de cobertura unicode.

Ainda mais ideal para o seu caso em particular, ele é, de fato, baseado no Courier.


2

Você sempre pode usar Courier New como sua fonte principal e voltar a outra fonte com uma paleta de caracteres mais ampla (como DejaVu Sans Mono ou talvez Everson Mono) para os símbolos ausentes.

É isso que o seu navegador faz se você definir Courier New como sua fonte monoespaçada preferida e depois solicitar que ele exiba algo parecido ∀x: ∃y: x ∊ y. (Bem, exceto pelo fato de este site já especificar sua própria lista de fontes monoespaçadas preferidas, com o Courier New bem abaixo da lista, você provavelmente não verá o Courier New acima xe yacima, a menos que você também desative ou substitua o estilo SE Folha.)

Obviamente, isso nem sempre parecerá muito bom, mas no seu caso, você diz que os caracteres extras necessários são principalmente símbolos matemáticos. Eles parecem bastante distintos das letras latinas normais de qualquer maneira, portanto, a incompatibilidade entre fontes diferentes pode não ser tão aparente quanto poderia ser, especialmente se você escolher a fonte substituta com cuidado.


Interessante ... eu não sabia que os navegadores faziam isso. Esse é um comportamento universal em todos os navegadores?
Lèse majesté

2
Praticamente sim. Até onde eu sei, todos os principais navegadores modernos suportam a substituição de glifos. O IE 6 e mais antigo não funcionou, mas você realmente não deveria estar projetando para o IE 6 hoje em dia - foi o caminho dos dinossauros, e boa viagem também.
Ilmari Karonen

É uma boa ideia, mas exige que o aplicativo em que estou trabalhando com o código (meu editor, neste caso), ofereça suporte a esse tipo de mecanismo de "fallback", o que infelizmente não é.
precisa saber é o seguinte

1

Sei que essa é uma pergunta antiga, mas achei que, como programador, poderia oferecer alguns conselhos. Eu uso o FreeMono em todos os meus editores de texto e IDEs. Parece bastante semelhante ao Courier New e tem melhor suporte para Unicode. A partir das informações que posso obter dos próprios arquivos de fonte, o Courier New suporta 3.248 caracteres diferentes, enquanto o FreeMono suporta 4.177 caracteres. Não sei exatamente quanto suporte o FreeMono possui para os símbolos Unicode matemáticos e lógicos, mas sei que é melhor que o Courier New por uma margem considerável.


1
O que significa "tem melhor suporte para Unicode"? Quão? Por favor compare!
Mensch

@ Kurt Desculpe pela confusão! O Courier new tem suporte para 3.248 caracteres Unicode, enquanto o mono gratuito suporta 4.177 caracteres Unicode. Espero que ajude.
Zack Frost
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.