Algum navegador da Web baseado em texto suporta caracteres de desenho de caixa unicode?

3

Eu tenho alguns html assim:

  &#x250c&#x2500&#x2500&#x2500&#x2500&#x2500&#x2500&#x2500&#x2500
  &#x2500&#x2500&#x2500&#x2500&#x2500&#x2500&#x2500&#x2500&#x2510<br>
  &#x2502testtesttesttest&#x2502<br>
  &#x2514&#x2500&#x2500&#x2500&#x2500&#x2500&#x2500&#x2500&#x2500
  &#x2500&#x2500&#x2500&#x2500&#x2500&#x2500&#x2500&#x2500&#x2518<br>

Ele aparece no Chrome com uma caixa sólida como seria de esperar (também não é possível exibi-lo no SE!):

    ┌────────────────┐
    │testtesttesttest│
    └────────────────┘

e eu esperava que os navegadores de texto pudessem fazer isso também, mas no Lynx eu recebo

    +----------------+
    |testtesttesttest|
    +----------------+

No w3m, é

    ??????????????????
    ?testtesttesttest?
    ??????????????????

e finalmente nos links2 eu recebo

   +----------------+
   &#x2502|testtesttesttest|
   +----------------+

Alguma chance de configurar um dos navegadores de texto para mostrar essas coisas com as linhas bastante sólidas, como os navegadores gráficos? Estou usando o PuTTY configurado para UTF-8 com "use unicode line drawing" ativado, conectando ao Ubuntu 12.04.

    
por Cory J 24.11.2013 / 01:21

5 respostas

2

elinks

Se eu entendi sua pergunta, acredito que elinks suporta esse recurso. Usando o UTF-8-demo.txt que < um @ https://unix.stackexchange.com/a/102382/7453 "> @as fornecidas em sua resposta , aqui está uma captura de tela de elinks visualizando essa página.

Exemplo

Invocando elinks da seguinte forma:

$ elinks http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt

Aqui está uma captura de tela do terminal executando elinks :

w3m

Comoalternativaaelinks,vocêtambémpodeusarw3m.

Exemplo

Vocêpodeinvocarw3mdaseguinteforma:

$w3mhttp://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt

Aquiestáumacapturadeteladoterminalexecutandow3m:

lynx

O Lynx também suporta esse recurso. Você pode invocá-lo assim:

$ lynx link

Aqui está uma captura de tela do terminal executando lynx :

Local

Todososnavegadoresbaseadosemterminalqueconheçofuncionambemnarenderizaçãodessescaracteres.Minhalocalidadeédefinidadaseguinteforma:

$localeLANG=en_US.utf8LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=

Qual é provavelmente o problema.

Referências

por 24.11.2013 / 04:15
1

Para testar manualmente as capacidades do seu terminal, você pode usar um arquivo como UTF-8-demo.txt .

Seu terminal é capaz de exibir suas caixas?

Se for possível, o seu navegador sabe que o seu terminal é capaz de fazê-lo?

Caso contrário, o navegador utilizará a opção segura e emulará as caixas usando caracteres ASCII.

Qual é a saída de locale e echo $TERM ? - Muito provavelmente, o seu navegador avaliará aqueles para determinar as capacidades do seu terminal.

    
por 24.11.2013 / 03:26
1

Depois de obter algumas dicas aqui, parece que a resposta é que lynx, elinks e w3m, todos funcionam se a localização estiver configurada corretamente.

locale

revelou que tudo foi definido como "POSIX".

export LC_ALL="en_US.UTF-8"

resolveu o problema. Adicionado a ~ / .bashrc para que a mudança persista.

Obrigado pessoal!

    
por 24.11.2013 / 05:39
1

As respostas dadas são próximas: configurações de localidade são a base para cada um dos programas (lynx, w3m, elinks) para decidir como processar as coisas.

Existem alguns pontos de discordância:

O comportamento do lince depende também da configuração locale_charset , por exemplo, no arquivo lynx.cfg :

Description

LOCALE_CHARSET overrides CHARACTER_SET if true, using the current locale to lookup a MIME name that corresponds, and use that as the display charset.

It also modifies the default value for ASSUMED_CHARSET; it does not override that setting.

Note that while nl_langinfo(CODESET) itself is standardized, the return values and their relationship to the locale value is not. GNU libiconv happens to give useful values, but other implementations are not guaranteed to do this.

Default value

LOCALE_CHARSET:FALSE

Os empacotadores personalizam essa configuração; as fontes originais são mais conservadoras em relação às configurações padrão.

A exibição dos exemplos dados com lynx e w3m é muito semelhante. Por outro lado, se alguém rolar para baixo no arquivo com elinks, um problema com os caracteres combinados usados no exemplo tailandês é imediatamente aparente. Parece que elinks não lida com esse caso:

Comparecomw3m:

ecomolynx(usandoncursesw,claro):

Estes são todos executáveis atuais do Debian / testing.

Em suma, enquanto os diferentes navegadores podem renderizar caracteres de caixa Unicode, conforme solicitado, seus recursos (e configurabilidade) diferem.

    
por 27.10.2015 / 01:08
0

é um problema no conjunto de caracteres. Se o seu terminal está no modo utf8 e o lynx sabe disso, ele simplesmente funciona. verificado há 30 seg.

    
por 24.11.2013 / 03:14