Como configurar o LibreOffice para usar os números de páginas Persa / Árabe-Indiano / Hindi?

14

Eu quero que meus números de página no LibreOffice Impress sejam em persa. O que significa ۰۱۲۳۴۵۶۷۸۹ em vez de 0123456789.

    
por SeMeKh 18.04.2013 / 23:50

3 respostas

19

Essas configurações funcionam em todos os aplicativos e documentos do LibreOffice, para que você possa fazer alterações em qualquer um dos conjuntos de aplicativos.

Alterando a localidade

Você pode definir o persa como padrão para todos os seus documentos ou apenas para o documento atual.

Na barra de menus, Ferramentas > > Opções , expanda as Configurações de idioma e clique em Idiomas

MudeLocaleparaFarsi.(Observequeissoéindependentedaconfiguraçãodainterfacedousuárioacima.)

AltereCTLparaPadrão-Farsi.IssotambémverificaráautomaticamenteAtivadoparalayoutdetextocomplexo(CTL)abaixo.CTLmanipulaidiomasdadireitaparaaesquerda.

VerifiqueParaodocumentoatualsomentedeacordocomsuapreferência.

Alteraroestilonumeralglobal

CliqueemLayoutComplexodeTextonoladoesquerdodacaixadediálogoemudeosnumeraisparaHindi.(nãomostradonestacapturadetela)

UseInserir>>PageNumberparamostraracaixadediálogoCabeçalho/Rodapéparaadicionarnúmerosdepáginaaosslides.

DefinirnumeraiscomoHindinasConfiguraçõesdeidiomapermiteusarnúmeros"Árabes" sem usar um editor de método de entrada como o Ibus. Nesse contexto, é claro, numerais árabe são 1,2,3 ...

É possível usar números Hindi na função de número de página do rodapé sem alterar cada número para o hindi?

Resposta curta: não através das configurações da GUI. Além da configuração de estilo de número global, não parece haver nenhuma maneira de modificar a função que insere números de página.

Curiosamente, o rodapé permite alterar facilmente a data para o persa. Acredito que os números das páginas não podem ser alterados de maneira semelhante, porque os números das páginas parecem ser retirados das funções para trabalhar com a impressora.

A solução é não usar a numeração de página de rodapé integrada e, em vez disso, inserir sua própria forma de texto na mesma área com o conjunto de texto do jeito que você deseja. Para um pequeno número de slides, isso não seria tão ruim; mas não seria viável com mais do que um punhado.

A solução para o problema é usar uma macro do LibreOffice Basic para inserir os números de página para você. Para uma breve visão geral das macros do LibreOffice e como usá-las em seu documento, por favor veja esta resposta .

Aqui está o código de macro:

Sub AddPersianPageNumbers

    Dim Doc as Object
    Set Doc = ThisComponent

    'Get the collection of DrawingPages
    Dim DrwPages as Object
    Set DrwPages = Doc.getDrawPages()

    Dim DrwPg as Object
    Dim TxtShp as Object
    Dim TxtPoint as New com.sun.star.awt.Point

    Dim i as Long
    Dim k as Long

    Dim strNum as string
    Dim strI as string
    Dim idx as long
    Dim uni as string

    'Each slide has it's own Drawpage, so go through the collection
    For i = 0 to DrwPages.getCount() - 1

        'Get the Drawing Page and create a TextShape    
        Set DrwPg = DrwPages.getByIndex(i)
        Set TxtShp = Doc.createInstance("com.sun.star.drawing.TextShape")

        'Add it to the Drawing Page (must do first)
        DrwPg.Add(TxtShp)   

        TxtPoint.X = DrwPg.Width * 0.9
        TxtPoint.Y = DrwPg.Height * 0.9

        TxtShp.Position = TxtPoint  
        TxtShp.TextAutoGrowWidth = true
        TxtShp.TextAutoGrowHeight = true

        'Just changing the font is not enough since it will still show as Arabic
        'You can change the locale and ComplexText props for just this para
        'but I couldn't find a way to set the para to be seen as ComplexText
        'That would have been elegant, but instead just convert
        'the page number to a string converted from the Unicode code points 

        strI = Cstr(i + 1)

        for k = 1 to Len(strI)
            uni =  "&H66" & mid(strI, k, 1) 'Hindi numeral code points are ascii+660
            strNum = strNum & Chr(uni)
        next k

        TxtShp.SetString(strNum)
        strNum = ""

        TxtShp.CharFontName = "Lohit Hindi"

    Next i  


End Sub
    
por chaskes 19.04.2013 / 01:34
0

ferramentas- > opções - > configurações de idiomas - > layout de texto complexo
opções gerais configuram para hindi
e aqui está uma captura de tela dele

    
por Abdalla Mohamed Aly Ibrahim 25.04.2017 / 10:35
0

Isso pode ser feito facilmente em duas etapas.

ETAPA 1: alterar a localidade

Chegue ao menu e clique em: Ferramentas > Opções e, em seguida, selecione Idiomas em Configurações de idioma.

Imagem mostrando o primeiro passo

Aqui altere o seguinte:

  1. Configuração de localidade - altere isso para árabe (ou qualquer idioma desejado).
  2. CTL - defina isso para árabe também (somente se você estiver usando uma linguagem que usa o Layout de texto complexo)
  3. Marque a caixa de seleção "Somente para o documento atual" se quiser essa alteração apenas para este documento que está sendo editado
  4. Clique em "OK" e salve a configuração. Neste ponto, certifique-se de que a fonte usada no campo de número de página suporta o idioma. No meu caso, a fonte Time New Roman tem caracteres numéricos arábicos (۰۱۲۳)

ETAPA 2: selecione o tipo de campo

Agora selecione o texto no campo de número de página (verifique se a fonte está correta) e, a partir do menu, selecione: Editar > Campos

Imagem mostrando o segundo passo

Na janela "Editar campos" exibida, altere o Formato para Numeração nativa (conforme mostrado acima). Clique em "OK" para salvar e fechar.

Você terminou!

    
por Jasir Alavi 19.10.2017 / 06:47