Senhoras e senhores, o plano é este:- tudo o que você queria saber sobre a escrita japonesa, mas tinha medo de perguntar
- O que é texto em rubi
- como escrever addons para libreoffice em python
- como gerar leitura para o kanzi
- Juntando tudo em um furiganizer!
O japonês moderno usa principalmente três sistemas de escrita.Em primeiro lugar, esses são dois alfabetos de sílabas: hiragana e katakana. O hiragana é mais arredondado, tem algo parecido com isto: こ れ は ひ ら な で す e é, por assim dizer, o alfabeto principal. Além disso, chamaremos tudo isso simplesmente de "kana". "Alfabeto silábico" significa que, em vez de nossas vogais e consoantes "a", "b" e "c" - apenas sílabas inteiras, como "ka", "sa" e "aquilo". Existem também vogais, no entanto, existem cinco peças ("a", "e", "y", "e", "o" + "i", "u" e "e") e apenas uma consoante "n" em ordem de exceção.É por isso que é muito difícil para os japoneses pronunciar palavras com consoantes sucessivas - elas simplesmente não estão acostumadas, mas isso não é importante para nós agora. Com um cana, em princípio, você pode escrever qualquer frase em japonês.Outro sistema são os caracteres emprestados da China, que continuaremos chamando de kanji , depois o que são chamados. Depois de tomar emprestado, os japoneses, sim, sobsno e os chineses também mudaram significativamente, e agora eles são bem diferentes, embora, é claro, por outro lado, sejam bastante similares. Digamos que, olhando para um texto em chinês, um japonês possa entender mais ou menos do que está falando. Os kanji são mais ou menos assim: 友 達 、 日本 、 世界。 Sim, em japonês, é um ponto redondo.Aqui está um ponto chave para a compreensão: japonês e chinês no nível gramatical geralmente não estão relacionados. Assim, era impossível pegar caracteres chineses e começar a escrevê-los. Na verdade, com a ajuda do kanji, você pode escrever palavras individuais, e até o básico das palavras, e o kana ainda é usado para indicar formas gramaticais e a conexão das palavras entre si. É algo parecido com isto: 送 り が な は と っ も も で で. Se você olhar atentamente, poderá ver que o primeiro caractere é kanji, seguido de vários sinais de kana, etc. Esse truque facilita a distinção visual entre texto em japonês e chinês, que parecem graficamente mais "densos" porque existe apenas kanji. Esse kana, que é anexado ao kanji para indicar a forma gramatical, é chamado de "okurigan".Aqui, e finalmente ... O número de kanji é bastante grande e, se você não é um robô, lembrar de tudo é difícil. Se a palavra é escrita por kanji, geralmente não é óbvio como lê-la pessoalmente, apesar do fato de que, na linguagem falada, a palavra pode ser encontrada e a pessoa a conhece. Para ajudar nessa situação, especialmente para kanji raro ou quando o texto é destinado a crianças, estrangeiros ou outras categorias de cidadãos com mentalidade limitada - a leitura de um kanji é assinada de cima com um kana. Isso é chamado de " furigana ". Parece na foto no início do post.Fuh, vá para o próximo item.Para adicionar anotações sobre o texto, o chamado ruby é usado. Não tem nada a ver com a linguagem de programação. Como aprendi na Wikipedia, em russo é chamado de "ágata"O suporte a Ruby está disponível em html usando a tag ruby:<ruby>
<rt></rt>
</ruby>
Mas agora estamos interessados no LibreOffice. No modo manual, você pode adicionar anotações ruby ao texto através do menu Formato -> Guia fonético asiático. Isso é um tanto estranho, porque você pode usar o campo esfregar não apenas para fonética, mas também com eles. Se isso não estiver no menu, você pode tentar adicionar suporte para idiomas asiáticos em Ferramentas -> Opções -> Configurações de idioma.Em seguida, queremos fazer isso automaticamente para o texto selecionado. O LibreOffice é maravilhoso, pois você pode escrever macros em Python. Para fazer isso, o módulo libreoffice-script-provider-python deve ser instalado (instalado via apt-get), que não vale o padrão. Ah, sim, eu faço tudo no Ubuntu, se você tiver um sistema operacional diferente, poderá compartilhar a receita nos comentários :)A macro em si é escrita como uma função regular em um Python. O documento é visível através de uma variável global com uma instância da classe correspondente e, de fato, nela todos os métodos necessários.Aqui está um exemplo simples:def HelloWorldPython():
desktop = XSCRIPTCONTEXT.getDesktop()
model = desktop.getCurrentComponent()
if not hasattr(model, "Text"):
model = desktop.loadComponentFromURL("private:factory/swriter","_blank", 0, () )
text = model.Text
tRange = text.End
tRange.String = "Hello World (in Python)"
return None
g_exportedScripts = HelloWorldPython,
Nós salvamos em um arquivo, colocamos ou criamos um link simbólico na pasta em que o LibreOffice mantém scripts. No meu caso, é "~ / .config / libreoffice / 4 / user / Scripts / python".Abra o LibreOffice Writer (o OpenOffice também deve funcionar), vá em Ferramentas -> Macros -> Executar macro e veja nosso script lá, se tudo der certo.Resta escrever um script que retire o kanji do documento e adicione suas leituras em rublos dos caracteres correspondentes. Tudo é simples: existem programas especiais para a geração de leitura, apenas os executamos em nosso script de macro, através de entrada / saída padrão, rodamos texto em japonês e inserimos a saída no documento.Um programa chamado kakasi pega texto em japonês e fornece uma leitura completa, mas não é exatamente isso que você precisa, porque Quero distribuir fragmentos de pistas fonéticas entre os campos de rubi dos caracteres correspondentes. Para fazer isso, usando o mecab, você pode tokenizar o texto em japonês e, portanto, já o alimentar kakasi em partes. De fato, a precisão da geração de leitura a partir disso está se deteriorando levemente, mas o layout do documento está melhorando. Algumas falhas podem ser corrigidas manualmente.Isso é sobsno e é isso, coloque apt-get install kakasi, mecab,vá para github.com/undertherain/furiganize , faça o download do script desajeitado que eu escrevi de lá e que soluça - mas faz tudo isso. Coloque-o na pasta desejada e divirta-se. Se alguém compartilhar sua experiência com outros sistemas operacionais, geralmente será maravilhoso.