Existe uma maneira universal de escrever caracteres Unicode?

18

Às vezes, quero escrever caracteres Unicode especiais, como um em-dash (-), em vários programas como vim, Chrome (como agora!) Ou LibreOffice.

No LibreOffice, eu posso conseguir isso através de uma caixa de diálogo dedicada encontrada no menu Inserir. Outros programas não parecem ter uma maneira integrada. Minha solução nesses casos é procurar o personagem na Wikipedia, copiá-lo e colá-lo.

Existe uma maneira universal de escrever caracteres Unicode em qualquer programa que aceite entrada de texto no Linux sem precisar copiar e colar de algum lugar onde já esteja impresso?

drs
fonte
Você poderia procurar por "entrada Unicode" na Wikipedia. Agora mencionado na minha resposta.
vinc17
No LibreOffice (e no MS Office) também há uma lista de substituições automáticas, como (C)-> ©. Muitas vezes, as pessoas configuram --como traço e ---traço.
Simon Richter
Is there a universal way...Não. (Eu não estou ciente de uma maneira "universal" para fazer qualquer coisa através de programação.)
user2338816

Respostas:

14

Você pode ativar uma Composetecla ou pressionar CtrlShiftUseguido pelo número hexadecimal Unicode do caractere (os zeros à esquerda podem ser ignorados). Por exemplo, Æ é CtrlShiftU, então C6. Isso funciona no Terminal GNOME, Terminator, Google Chrome e em vários outros aplicativos, com o Xterm (e de acordo com os comentários, o Emacs) não funcionando.

No GNOME, para ativar Compose, vá para Configurações do teclado, depois AtalhosDigitaçãoTecla de caracteres alternativos e mapeie-a para algo (digamos Right Alt). Então você pressiona a Composetecla e - três vezes para obter um traço: -. (As setas neste parágrafo são todas Compose->.)

insira a descrição da imagem aqui

muru
fonte
2
A solução Ctrl + Shift + u não funciona no Xterm e no Emacs. Também não funciona no Firefox.
vinc17
2
@ vinc17 ele funciona no Firefox para mim. Não tenho nem o Xterm nem o Emacs para testar.
muru
Hmmm, sim, ele funciona no Firefox, mas eu tenho que digitar a tecla Space após a sequência hexadecimal. De qualquer forma, isso não é universal, mas provavelmente um recurso adicionado por alguns aplicativos (ou alguns gerenciadores de janelas?). Além disso, ele não funciona no Opera.
vinc17
AltGr é apenas um modificador para obter combinações de teclas adicionais. É isso que eu uso para inserir os caracteres listados na minha resposta (por exemplo, Shift + AltGr + [dá ←). Mas o usuário também pode mapear caracteres para outras teclas, como teclas de função; é isso que faço para obter os caracteres acentuados em francês: éèêëâîôûàùïç. Tudo feito via configurações XKB.
vinc17
@ vinc17 Fiz uma falha épica. Eu estava falando sobre Compose e disse AltGr.
muru
7

A melhor maneira ainda é digitar o caractere no teclado. Graças ao XKB , você pode vincular caracteres Unicode arbitrários a combinações de teclas. Por exemplo, com a personalização do usuário XKB , posso digitar diretamente: ← → ↑ ↓… € ½ «» - - ± ≠ ∩ ∪ ⊂ ∧ ∀ ∃ √ ∞ ≤ ≥, etc.

Nota: no caso particular do GNU Emacs, a composição Unicode pode ser feita via Ctrlx+ 8+ Return. Veja Ctrlx+ 8+ Ctrlhpara métodos adicionais.

A "entrada Unicode" na Wikipedia fornece informações sobre a entrada Unicode ISO 14755, dependendo do contexto, em particular para o X11 com alguns kits de ferramentas e para aplicativos específicos (Emacs, Opera, Vim).

Como alternativa, você pode usar a Composetecla com configurações definidas pelo usuário (pois as configurações padrão estão longe de serem concluídas). A documentação é fornecida pela Compose(5)página do manual. Por exemplo, escreva um arquivo $HOME/.XComposecontendo:

include "%L"
<Multi_key> <bracketleft> <c>           : "⌈" U2308 # LEFT CEILING
<Multi_key> <bracketright> <c>          : "⌉" U2309 # RIGHT CEILING
<Multi_key> <bracketleft> <f>           : "⌊" U230A # LEFT FLOOR
<Multi_key> <bracketright> <f>          : "⌋" U230B # RIGHT FLOOR

A include "%L"linha primeiro carrega o arquivo de composição padrão (específico do código do idioma) e as próximas quatro linhas adicionam configurações definidas pelo usuário, como: Compose+ [+ cfornece o caractere de teto esquerdo "⌈" (U + 2308).

vinc17
fonte
Você não precisa do XKB para vincular caracteres Unicode a combinações de teclas; também é possível fazê-lo com o xmodmap. Você não poderá alcançar todos os caracteres Unicode dessa maneira; existem muitos.
Gilles 'SO- stop be evil'
11
@Gilles xmodmap não é tão poderoso quanto o XKB e eu tive problemas com ele no passado . Daí a minha mudança para XKB. Além disso, eu não uso todos os caracteres Unicode. Para caracteres raros, um seletor na tela pode ser a melhor solução, pois talvez você não conheça seu ponto de código e como inseri-lo.
vinc17
Não entendo como você insere ∀ ∪ ⊂ ∧ ∨ ∀ com composição. O resto «» € etc. etc. funciona. Mas não os símbolos matemáticos.
Igor Chubin
@IgorChubin Eu não uso compor, apenas ISO_Level3_Shift(também conhecido como AltGr). Acabei de editar minha resposta para fornecer um link para minha página da web, explicando a personalização do XKB do usuário .
precisa saber é
@ vinc17 Obrigado, vou ler mais sobre isso. Você conhece alguma vantagem desse método em relação à composição?
Igor Chubin
2

Conforme descrito em detalhes nesta postagem , há uma ótima maneira de adicionar chaves unicode sem precisar lembrar de combinações estranhas de teclas ou usar qualquer menu suspenso.

Tudo se resume ao uso do Autokey , que pode levar qualquer conjunto de pressionamentos de teclas como acionador para executar um script ou colar uma frase. Nesse caso, sua frase é simplesmente o caractere unicode que você deseja.

Como a publicação descreve, uma boa maneira de fazer isso é seguir o LaTeX, mas com uma barra invertida em vez de barra invertida. Por exemplo, digitar / delta em qualquer lugar (navegador, libre office, etc.) será automaticamente convertido em δ.

hugke729
fonte