Je souhaite que mes numéros de page dans LibreOffice Impress soient en persan. Ce qui signifie ۰۱۲۳۴۵۶۷۸۹ au lieu de 0123456789.
Ces paramètres fonctionnent dans toutes les applications et tous les documents LibreOffice. Vous pouvez donc apporter des modifications à partir de n'importe quel ensemble d'applications.
Changer les paramètres régionaux
Vous pouvez définir Persian comme valeur par défaut pour tous vos documents ou pour le document actuel uniquement.
Dans la barre de menus, Outils >> Options , développez les Paramètres de langue et cliquez sur Langues
Changer Locale en Farsi. (Notez que ceci est indépendant du réglage de l'interface utilisateur ci-dessus.)
Remplacez CTL par par défaut - Farsi . Cela vérifiera aussi automatiquement activé pour la mise en page de texte complexe (CTL) ci-dessous. CTL gère les langues de droite à gauche.
Vérifier Pour le document actuel uniquement selon votre préférence.
Modification du style numérique global
Cliquez sur Mise en page de texte complexe dans la partie gauche de la boîte de dialogue et modifiez 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.
Régler les chiffres sur Hindi dans les paramètres de langue vous permet d’utiliser des chiffres "arabes" sans utiliser d’é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 nombres en hindi dans la fonction de numéro de page du pied de page de la diapositive sans changer chaque numéro en hindi?
Réponse courte: pas à travers les paramètres de l'interface graphique. Hormis le paramètre de style de numéro global, il ne semble pas y avoir de moyen de modifier la fonction qui insère des numéros de page.
Fait intéressant, le pied de page vous permet de changer facilement la date en persan. Je pense que les numéros de page ne peuvent pas être modifiés de la même manière car ils semblent provenir de fonctions permettant de travailler avec l’imprimante.
La solution consiste à ne pas utiliser la numérotation de page du pied de page intégrée, mais à insérer 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 grave. mais ne serait pas réalisable avec plus d'une poignée.
La solution à de ce problème consiste à utiliser une macro LibreOffice Basic pour insérer les numéros de page à votre place. Pour un bref aperçu des macros LibreOffice et de leur utilisation 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
Cela peut être facilement fait en deux étapes.
ÉTAPE 1: Changer les paramètres régionaux
Allez dans le menu et cliquez sur: Outils> Options, puis sélectionnez Langues sous Paramètres de langue.
Image montrant la première étape
Ici changer le suivant:
ÉTAPE 2: Sélectionnez le type de champ
Sélectionnez ensuite le texte dans le champ du numéro de page (assurez-vous que la police est correcte), puis sélectionnez dans le menu: Edition> Champs
Image montrant la deuxième étape
Dans la fenêtre 'Éditer les champs' qui s'ouvre, modifiez le Format en Numérotation native (comme indiqué ci-dessus). Cliquez sur 'OK' pour enregistrer et fermer.
Vous avez terminé!
outils-> options -> paramètres de langue -> mise en page de texte complexe
options générales mis à hindi
et en voici une capture d'écran