Comment configurer LibreOffice pour utiliser les numéros de page persan / arabe-indic / hindi?

17

Je souhaite que mes numéros de page dans LibreOffice Impress soient en persan. Ce qui signifie ۰۱۲۳۴۵۶۷۸۹ au lieu de 0123456789.

SeMeKh
la source
Avez-vous configuré le persan comme langue par défaut pour cette application? Pourriez-vous ajouter une capture d'écran?
Lucio

Réponses:

22

Ces paramètres fonctionnent sur toutes les applications et tous les documents LibreOffice, vous pouvez donc apporter des modifications à partir de n'importe quel ensemble d'applications.

Modification des paramètres régionaux

Vous pouvez définir le persan par défaut pour tous vos documents ou pour le document actuel uniquement.

Dans la barre de menus, Outils >> Options , puis développez les paramètres de langue et cliquez sur Langues

entrez la description de l'image ici

Remplacez Locale par Farsi. (Notez que cela est indépendant du paramètre de l'interface utilisateur ci-dessus.)

Changez CTL par défaut - Farsi . Cela vérifiera également automatiquement Activé pour la mise en page de texte complexe (CTL) ci-dessous. CTL gère les langues de droite à gauche.

Vérifiez le document actuel uniquement selon votre préférence.

Changer le style numérique global

Cliquez sur Disposition de texte complexe sur le côté gauche de la boîte de dialogue et changez les chiffres en hindi . (non montré dans cette capture d'écran)

Utilisez Insérer >> Numéro de page pour afficher la boîte de dialogue En-tête / Pied de page afin d'ajouter des numéros de page à vos diapositives.

La définition de chiffres en hindi dans les paramètres de langue vous permet d'utiliser des chiffres «arabes» sans utiliser un éditeur de méthode de saisie tel que Ibus. Dans ce contexte, bien sûr, les chiffres arabes sont 1,2,3 ...

Est-il possible d'utiliser des numéros en hindi dans la fonction de numéro de page de pied de page sans changer chaque numéro en hindi?

Réponse courte: pas via les paramètres de l'interface graphique. Mis à part le paramètre de style de numéro global, il ne semble pas y avoir de moyen de modifier la fonction qui insère les numéros de page.

Chose intéressante, le pied de page vous permet de changer facilement la date en persan. Je crois que les numéros de page ne peuvent pas être modifiés de la même manière car les numéros de page semblent être tirés des fonctions pour fonctionner avec l'imprimante.

La solution est de ne pas utiliser du tout la numérotation des pages de pied de page intégrée et d'insérer à la place votre propre forme de texte dans la même zone avec le texte défini comme vous le souhaitez. Pour un petit nombre de diapositives, ce ne serait pas trop mal; mais ne serait pas réalisable avec plus d'une poignée.

La solution à ce problème consiste à utiliser une macro LibreOffice Basic pour insérer les numéros de page pour vous. Pour un bref aperçu des macros LibreOffice et comment les utiliser dans votre document, veuillez consulter cette réponse .

Voici le code 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
chasses
la source
Je veux que le document ait la même apparence sur d'autres ordinateurs également! De cette façon, ce n'est pas le cas.
SeMeKh
De plus, je veux juste que les "numéros de page" soient en persan. Pas "tous les nombres utilisés".
SeMeKh
@SeMeKh S'il vous plaît voir la réponse mise à jour
chaskes
0

outils-> options -> paramètres de langues ->
options générales de mise en page de texte complexe définissez-le sur hindi
et voici une capture d'écran de celui-ci

Abdalla Mohamed Aly Ibrahim
la source
0

Cela peut se faire facilement en deux étapes.

ÉTAPE 1: modifier les paramètres régionaux

Accédez au menu et cliquez sur: Outils> Options , puis sélectionnez Langues sous Paramètres de langue.

Image montrant la première étape

Modifiez ici les éléments suivants:

  1. Paramètres régionaux - changez-le en arabe (ou dans la langue de votre choix).
  2. CTL - définissez-le également sur l'arabe (uniquement si vous utilisez une langue qui utilise la mise en page de texte complexe)
  3. Cochez la case "Pour le document actuel uniquement" si vous souhaitez cette modification uniquement pour ce document en cours de modification
  4. Cliquez sur «OK» et enregistrez le paramètre. À ce stade, assurez-vous que la police utilisée dans le champ du numéro de page prend en charge la langue. Dans mon cas, la police Time New Roman a des caractères arabes (۰۱۲۳)

ÉTAPE 2: Sélectionnez le type de champ

Maintenant, sélectionnez le texte dans le champ du numéro de page (assurez-vous que la police est correcte) puis dans le menu, sélectionnez: Édition> Champs

Image montrant la deuxième étape

Dans la fenêtre 'Edit Fields' qui s'ouvre, changez le format en Native Numbering (comme indiqué ci-dessus). Cliquez sur «OK» pour enregistrer et fermer.

Vous avez terminé!

Jasir Alavi
la source