Original Article: Manipulating Yiddish texts under the Unix operating system
Author: Raphael Finkel
Yiddish and Unix

Manipulando textos em iídiche no sistema operacional Unix

Autor: Raphael Finkel. email (sem sublinhado), web.

Escolhas

Para escrever iídiche no Unix, você tem essas opções:
  1. Escreva na transliteração YIVO e converta, se desejar, para algum outro formulário usando o shraybmashinke.
  2. Escreva diretamente no Unicode, armazenando seu arquivo no formato UTF-8.
Esta nota concentra-se nas formas de fazer o último. Você realmente quer usar o Unicode no longo prazo, pois permite combinar vários idiomas em um único documento e define o formato de apresentação, em particular, esboço bidirecional.

Problemas

  • A que nível de software é convertida a conversão de teclas para a representação de personagens?
    • No "modo console" Unix, o driver do dispositivo faz o mapeamento.
    • No "X-windows input" do Unix, o servidor X possui uma tabela de mapa de teclas para converter códigos de chave de evento (eventos de pressionamento de tecla) em keysyms. Existe uma lista de keysyms em include/X11/keysymdef.h, que vem com distribuições X; Define o árabe, o tailandês, o hebraico e outros tipos de chaves. A lista hebraica está faltando os personagens especiais de iídiche. Eu não recomendo que você brinque com hebraico ou Iishish keysyms; os valores do chaveiro são específicos do X-Windows e não correspondem ao Unicode. No entanto, algumas aplicações (como xterm) compreendem um keysym da forma 0x100XXXX como caractere Unicode UCS-2 XXXX.
    • Você pode habilitar a extensão do teclado X (xkb) para permitir que você alterne entre os layouts do teclado e interprete suas batidas de teclas como iídiche no layout apropriado.
    • Você pode usar os métodos IBUS, SCIM, UIM. Nas instalações Debian (incluindo o Ubuntu), use apt-get para obter esses pacotes: ibus, ibus-m17n, libm17n-0, m17n-contrib, ibus-gtk. rode ibus-setup e escolha Yiddish-yivo (m17n) Execute ibus-setup e escolha Yiddish-yivo (m17n) como um método de entrada. Agora, qualquer programa que use o IBUS pode ter entrada; Você alterna entre sua entrada usual e IBUS com <controle-espaço> (você pode personalizar isso).
    • Se você preferir o layout do teclado Yank Halpern’sn's, você pode pegar este arquivo e instalá-lo no diretório impresso executando /usr/bin/m17n-db (você precisará fazer isso como root). Então você deve executar o ibus-daemon -d --xim --Atualização do cache (como você).
    • Você pode introduzir um método de entrada X (XIM). Algumas aplicações X-Windows podem usar esta técnica.
    • Você pode introduzir um método de entrada na biblioteca gtk +. Esse método pode então ser habilitado em qualquer aplicativo gnome, como gedit. Os métodos de entrada permitem traduções de múltiplas palavras sensíveis ao contexto.
    • Aplicativos como o Yudit e o Vim podem aplicar seus próprios mapeamentos.
  • O usuário pode configurar o mapeamento? No Unix "X-windows input", o programa xmodmap pode modificar a tabela do mapa de teclas. O programa xkeycaps pode ajudá-lo a configurar sua configuração do xmodmap de forma interativa. Da mesma forma, algumas aplicações X baseadas em recurso X, em particular xterm (o emulador de terminal), podem ser configuradas para traduzir chaves particulares de qualquer maneira desejada. Em muitos casos, porém, você precisa de permissões especiais para modificar arquivos de configuração.
  • O usuário pode mudar facilmente de um mapeamento para outro? No Unix, o xmodmap pode alterar a tabela do mapa de teclas on the fly (afetando todas as aplicações). Os mapeamentos específicos do aplicativo X geralmente são carregados somente quando o aplicativo é iniciado. No entanto, xterm permite que uma chave seja mapeada para uma função, como "mudar para um mapa carregado diferente". O Xkb permite estabelecer uma chave ou grupo de chaves que permite alternar layouts. O IBUS permite alternar entre os métodos de entrada. Yudit faz o seu próprio mapeamento, e um único toque de tecla muda de um para o outro. O Vim faz seu próprio mapeamento e um comando simples (que pode ser mapeado por um toque de tecla) muda de um para o outro.
  • Os mapeamentos permitem traduções de múltiplas palavras? Quando eu escrevo iídiche, gostaria que "w" fosse uma canela, mas eu também quero que "sh" seja uma canela, porque minha língua nativa é o inglês. Eu quero "n", para me dar uma última freira e uma vírgula. No Unix, as traduções de múltiplas palavras não estão disponíveis no nível do kernel ou X-windows (tanto quanto eu sei), mas são possíveis em módulos de entrada IBUS, gtk + e algumas aplicações, em particular, Yudit e Vim.
  • O Unicode (UTF-8) é o formato para o armazenamento de dados? Esta pergunta geralmente é dependente da aplicação. No Unix, o Yudit usa apenas Unicode, e o Vim pode ser configurado para usar o Unicode (e para traduzir para isso de outras codificações). Na variante Linux do Unix, no "modo console", os aplicativos recebem caracteres Unicode (eu acho).
  • Existem fontes que exibem adequadamente Unicode, particularmente as letras específicas do iídiche, como pasekh-tsvey-yudn? Desde 2000, a resposta tornou-se cada vez mais afirmativa em todas as plataformas. Veja as fontes, abaixo.
  • Os mecanismos de exibição e os editores manipulam corretamente os caracteres de composição? No Unix, o servidor X-Windows aparentemente não tem esse suporte, mas algumas aplicações (como xterm e Yudit) exibem caracteres equivalentes equivalentes quando disponíveis e usam uma superposição simples, caso contrário. Gvim (a versão gráfica do vim que ignora xterm), usa apenas a superposição. Vim entende a natureza da composição de 0 largura (trata somente de fontes monospace e, portanto, o alinhamento vertical é importante).
  • Os mecanismos de exibição manipulam a bidirecionalidade ? Existem vários níveis de habilidade: (a) sem suporte, (b) uma janela inteira pode ser configurada manualmente para RTL, (c) um fragmento de texto dentro de uma janela pode ser configurado manualmente para RTL, (d) todo o texto é automaticamente exibido de acordo com um algoritmo bidirecional (BIDI) completo. Tipicamente, os mecanismos de exibição são parte do aplicativo de nível superior (isto é, no Unix, quando uso o Vim através do xterm através do X-Windows através do sistema operacional, é o Vim que decide como colocar os caracteres. Os níveis mais baixos não oferecem suporte) . O status atual (2003) no Unix é que o Vim usa método (b), método Yudit e AbiWord (d).
  • É possível inserir diretamente um valor Unicode? Algumas aplicações têm essa habilidade: Vim (você digita <ctr-V>u05d7 para obter um khes) e Yudit (você muda para o mapa de teclado "unicode" e digita u05d7). Não é suportado em níveis mais baixos (ainda).
  • Existe um processador front-end independente de aplicativos que pode converter batidas de tecla em caracteres Unicode para qualquer aplicativo que esteja executando? No X-Windows, esse processador é chamado de X Input Method (XIM). Muitas aplicações, incluindo Gvim, AbiWord, e Yudit, podem ser anexadas a um XIM; Yudit pode alternar entre vários XIMs durante uma sessão. Eu construí um XIM iídiche, mas só consegue falar com o AbiWord.
  • É possível internacionalizar aplicativos, ou seja, ter mensagens de erro, telas de ajuda e rótulos de botões em seu idioma favorito? No Unix, os programas compilados com a libintl podem ser internacionalizados. Eu escrevi as traduções necessárias para Yudit (screenshot) e para o AbiWord.
  • Pode se verificar a ortografia , inserir listas de ortografia personalizadas? Em Vim e AbiWord, a resposta é sim, tanto em romanizado quanto em iídiche Unicode. Eu criei essas listas de ortografia.

Fontes

No Unix, você estará usando o sistema X-Windows. Eu recomendo que você obtenha as Markus Kuhn fontes se você ainda não as possui na sua distribuição X-Windows. Eles estão presentes no X11R6.4. A fonte -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1 tem minhas modificações para torná-lo completo e legível para iídiche. Para fontes TrueType, eu recomendo FreeSans.

xkb

Em vez de usar os mapas-chave do X-windows, você pode usar a extensão do teclado X, conhecida como xkb . Esta facilidade permite que você estabeleça vários layouts de teclado e troque entre eles. Esta facilidade é independente de todas as aplicações X-Windows. Não oferece traduções de múltiplas palavras. Aqui estão as instruções para o Ubuntu Linux.
  1. Certifique-se de que você não tenha configurado o XKB_DISABLE em sua variável de ambiente.
  2. Como raíz, anexe / usr / share / X11 / xkb / symbols / us os conteúdos deste arquivo.
  3. Em / usr / share / X11 / xkb / rules , coloque a seguinte linha no final da seção US: (em torno da linha 269) de base.lst e evdev.lst:
     Yiddish nós: Yiddish 
  4. Em /usr/share/X11/xkb/rules, coloque a seguinte linha dentro do "us" <Layout>, na variantList após a variante fonética russa, em base.xml e evdev.xm::
           <variante>
              <configItem>
                <nome>yiddish</nome>
                <descricao>Yiddish</descricao>
                <languageList><iso639Id>yid</iso639Id></languageList>
              </configItem>
            </variante>
    
  5. Execute setxkbmap us
  6. Usando gnome-keyboard-properties, na guia "Layouts",
    1. Adicionar um layout: Por idioma → Yiddish → USA Yiddish
    2. Defina opções de layout: para que você conheça as chaves para alterar o layout. Você pode querer usar o LED do teclado para mostrar layout alternativo.
  7. Execute setxkbmap -opcao grp:switch,grp:alts_toggle
  8. Agora você pode usar (1) o que você configurou no passo anterior para alternar os layouts, (2) a tecla Shift para alternar os níveis e (3) a tecla alt direita para alternar grupos (algumas teclas possuem um segundo grupo de símbolos ). O teclado parece este arquivo pdf. Se você precisar digitar letras não pré-compostas, separando um alef de seu pasekh, por exemplo, use as vogais posicionadas na tecla Q ou os símbolos do grupo dois em várias outras teclas.

xterm

Versões de xterm desde 2000 compreendem UTF-8. Você pode obter xterm e compilá-lo você mesmo, se precisar; você deve estipular ./configure --enable-wide-chars. Limitações / erros: Xterm não possui nenhum suporte BIDI. Ele compõe personagens por simples sobreimpressão a menos que possa encontrar um personagem pré-composto. Ele coloca caracteres precompostos no buffer de corte, não post-composto, como deveria. Arquivo de suporte: Você pode querer adicionar esta informação ao seu arquivo ~/.Xdefaults para suportar (1) uma fonte Unicode agradável (em tamanho de fonte "médio" e (2) uma codificação de teclado para iídiche (ativar / desativar com o modo_switch chave).

Yudit

O editor Yudit da Gaspar Sinai permite editar o texto UTF-8. Aqui está uma screenshot. Eu criei um mapeamento de teclado para isso que faz parte da distribuição. Este mapeamento possui um processador de front-end de múltiplas chaves, para que você possa digitar "sh" se desejar uma canela. O mapeamento em iídiche também insere alema aleatória após um espaço antes de determinadas vogais. Yudit também trabalha com o meu XIM. Yudit tem seu próprio mecanismo de exibição de fonte truetype, então você não precisa ter um no seu X11. Yudit tem internacionalização, então você pode ter todas as mensagens de editor apresentadas em iídiche. Yudit faz o verdadeiro BIDI exibir. Você precisará configurar seu arquivo ~ / .yudit / yudit.properties para ter linhas como esta:

yudit.default.language=yi
yudit.editor.font=iso10646
yudit.editor.fonts=arial,cyberbit,iso10646,caslr
yudit.editor.fontsize=20                |
yudit.editor.fontsizes=10,12,14,16,20,24
yudit.editor.input=Yiddish
yudit.editor.inputs=straight,unicode,Yiddish,Russian,German
yudit.font.arial=arial__h.ttf,cyberbit.ttf
yudit.font.caslr=caslr.ttf
yudit.font.cyberbit=cyberbit.ttf,CyberBitMods.ttf
yudit.font.iso10646=-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1
yudit.editor.fonts=arial,cyberbit,iso10646,caslr
Você pode querer a fonte Cyberbit. Falta alguns caracteres, que você pode obter adicionando CyberBitMods aos caminhos das fontes. Você também pode querer a fonte caslr, embora não seja tão bonito para o iídiche. O Yudit é capaz de gerar saída PostScript. Existe uma versão do Yudit que funciona em plataformas Win32 que você pode encontrar aqui. Breve instruções de instalação do Win32: (1) Execute o executável que você baixou para instalar o programa (seu nome corresponde a esse padrão: yudit*.exe (2) Instale as fontes de bitmap executando o programa que corresponde a esse padrão: bitmap_fonts*.exe (3) Usando qualquer editor de texto, modifique, Program Files\Yudit\Config\yudit.properties como a seguir:
yudit.datapath=C:\Program Files\Yudit\data
yudit.fontpath=C:\WINNT\FONTS [para Win2000]
yudit.fontpath=C:\WINDOES\FONTS [para Win98]

Vim

O editor Vim de Bram Moolenaar é uma versão freeware do editor Vim sempre popular; Funciona bem no Unix e no Win32. Começando com a versão 6.0, tem muito bom suporte para Unicode e iídiche. Use-o junto com xterm (como acima) ou no modo gvim (ignorando xterm) para obter o benefício total. Aqui está uma screenshot da interface gvim. Você não precisa do material de mapeamento de caracteres especiais para xterm; use um mapa de tecla Vim. Coloque os comandos em ~/.vimrc:

setfileencodings=cp1255,utf-8 guifont=8x13bold encoding=utf-8
Filetype plugin na sintaxe em
Você quer saber sobre os seguintes comandos:

:defina rl  Define modo na janela atual para RTL
:defina norl  Define o modo na janela atual para LTR
:defina keymap=yi  Muda para o mapa de teclado em iídiche
:defina encoding=utf-8 Permite que o Vim saia bem para o seu xterm UTF-8 habilitado
<control-^>  alterna o modo de entrada em idioma estrangeiro.
Se você pretende misturar idiomas, sugiro que você use várias janelas, uma com o rtl ativado, o outro sem. Limitações / bugs: Vim não tem nenhum suporte BIDI e é improvável que ele obtenha algum. Arquivo de suporte: obtenha este arquivo o e desmarque-o em seu diretório pessoal. Inclui correção ortográfica para macedras e macedões de teclado e iídiche com formato unicode e umicode (um processador frontal completo) para iídiche Unicode. Isso requer versão 6.0 pelo menos. Leia o arquivo README (ele possui instruções para o Unix e para o Win32).

AbiWord

AbiWord é um processador de texto completo (eventualmente), não apenas um editor de texto. Ele usa XML como seu formato de arquivo preferido, mas pode importar e exportar arquivos formatados e arquivos de texto em Unicode. As versões mais recentes do processador de texto AbiWord manipulam o BIDI. Eles também podem fazer moldagem de letras hebraicas, o que significa que as letras finais são geradas automaticamente, mas o arquivo resultante contém letras medianas e não finais; deixe essa função desativada. AbiWord possui versões para Unix, MacOS e Win32; Todos têm aparência semelhante. Aqui está um screenshot.

Grande parte do seguinte é obsoleto; AbiWord é um alvo em rápida mudança. É complicado configurar as fontes do AbiWord para Unix / X-Windows.

  1. No seu diretório de fontes (normalmente /usr/share/AbiSuite/fonts, você precisa criar um subdiretório utf-8.
  2. Coloque uma cópia ou um link para fontes razoáveis ​​de tipo verdadeiro, como arial.ttf.
  3. Execute ttmkfdir nesse diretório (encontre ttmkfdir aqui). Este programa extrai nomes de fontes de seus arquivos ttf e cria fonts.scale.
  4. No arquivo resultante fonts.scale, faça uma nova linha para cada fonte (provavelmente já haverá vários nomes de codificação ligeiramente diferentes). Nesta nova linha, defina a codificação, que é o sufixo -iso, para dizer iso10646-1. Este sufixo diz "Eu sou uma fonte Unicode".
  5. Execute mkfontdir nesse diretório. Este programa cria fonts.dir, que o X-Windows precisa para entender o conteúdo.
  6. No diretório bin do AbiWord, normalmente /usr/share/AbiSuite/bin, execute ttfadmin.sh /usr/share/AbiSuite/fonts/utf-8 ISO-10646-1. Este programa estabelece arquivos auxiliares * .u2g e * .t42 para cada fonte. AbiWord precisa desses arquivos auxiliares para entender as fontes.
  7. Seu servidor X-Windows deve entender tanto os tipos de fontes geralmente usados ​​pelo AbiWord quanto as fontes True Type, pois somente a fonte Arial True Type, tanto quanto eu sei, está amplamente disponível e suporta iídiche. Você precisa, pelo menos, da versão 4.1.0 do X-Windows. Em seu arquivo de configuração (normalmente /etc/XF86Config), você precisa ter
      Carregue  "type1"
      Carregue  "xtt"
    
    na seção "Módulo". Se você tiver que adicionar essas linhas, você precisa reiniciar o X-Windows para que as mudanças tenham efeito.
  8. Cada vez que você executa o AbiWord, primeiro você deve configurar sua variável de ambiente LANG para yi.utf-8. A parte .utf-8 indica qual fonte configurada para usar. A primeira parte diz: "Eu prefiro todo o iídiche".
  9. Quando você lê um arquivo de texto UTF-8, lê-lo como texto codificado , por tipo e, em seguida, selecione a codificação UTF8 na caixa de diálogo resultante.
  10. Não conheço uma boa maneira de mapear o teclado. Eu uso xmodmap e alterno entre os mapas em inglês e iídiche. No entanto, esta técnica exige que você use várias batidas de teclas para obter vogais em alef ou linhas acima de um beys ou qualquer outro caractere multiple-utf8. Posso dar-lhe os arquivos xmodmap relevantes e um pequeno programa tk que permite alternar entre eles.
  11. Quando você sair do AbiWord, você precisa desmarcar a variável LANG e também remover diretórios extras da sua fonte que o AbiWord às vezes deixa em mente: xset fp- /usr/share/AbiSuite/fonts/ e xset fp- /usr/share/AbiSuite/fonts/utf-8/.

Estou trabalhando em um verificador ortográfico para AbiWord / Yiddish. Tenho arquivos de verificação ortográfica; Peça-me detalhes. Atualmente existem os seguintes problemas:

  1. Obtendo o AbiWord para entender arquivos de verificação ortográfica para idiomas como o iídiche que não estão em sua lista atual. Eu apenas chamo-os de arquivos finlandeses e defina minha língua para o finlandês.
  2. O menu interativo quando um erro de ortografia é encontrado usa uma fonte não utf8, então tudo que você vê é besteira.

mula

Mule 2.3 é uma extensão para o editor Gnu emacs 19.28. Não suporta unicode, mas suporta várias páginas de códigos específicos de idioma. Ele usa seu próprio formato de arquivo "junet" peculiar para arquivos multilíngües. Eu aconselho você a evitá-lo.

emacs

Existe uma versão experimental (10/2003) de emacs que lida com o UTF8 e supostamente lida com o BIDI bastante bem; é em http://www.m17n.org/emacs-bidi/. Emacs é um editor completo, mas é preciso muito esforço para aprender. Atualização (7/2008): enquanto o suporte ao BiDi ainda não está disponível para o Emacs (exceto para aquele experimental e executando emacs -nw (sem gráficos) em um emulador de terminal compatível com BiDi), você pode usar poor-mans-bidi.el, que executa as ferramentas de linha de comando fribidi ou bidiv como um subprocesso para transformar entrada lógica em saída visual em um buffer espelhado. Há também um método de entrada em iídiche para emacs que administra uma entrada semelhante a YIVO, entre outras, escrita por Niels Giesen. A partir de agosto de 2010, um ramo de desenvolvimento do emacs suporta exibição bidirecional e obsoleto poor-mans-bidi.

KDE

O KDE 3 é um "ambiente", incluindo um gerenciador de janelas e muitas aplicações. Seu aplicativo de processamento de texto é chamado de KOffice. O KOffice suporta BIDI e várias codificações, incluindo o Unicode.

Sumário

Produto BIDI Mapeamentos de teclado Nível do editor
xterm Nenhum Tecla única Nenhuma edição
Vim manual por buffer; só afeta a exibição chave múltipla; boa transcrição YIVO edição completa (use meu plugin de verificação ortográfica para iídiche romanizado ou Unicode); texto simples apenas; exibição monospace somente
Yudit automático; só afeta a exibição chave múltipla; boa transcrição YIVO edição aceitável; texto simples apenas; permite fontes True Type e non monospace; gera PostScript.
KOffice ? ? processamento completo de texto; insere códigos de formato; pode produzir texto simples ou XML ou outras formas.
AbiWord automático; só afeta a exibição não processamento completo de texto; insere códigos de formato; pode produzir texto simples ou XML ou algumas outras formas.

Referências