Wie stelle ich LibreOffice so ein, dass es persische / arabisch-indische / hindische Seitenzahlen verwendet?

17

Ich möchte, dass meine Seitenzahlen in LibreOffice Impress auf Persisch sind. Das heißt ۰۱۲۳۴۵۶۷۸۹ statt 0123456789.

SeMeKh
quelle
Haben Sie Persisch als Standardsprache für diese Anwendung konfiguriert? Könnten Sie einen Screenshot hinzufügen?
Lucio

Antworten:

22

Diese Einstellungen gelten für alle LibreOffice-Anwendungen und -Dokumente, sodass Sie Änderungen an allen Anwendungen vornehmen können.

Ändern des Gebietsschemas

Sie können Persisch als Standard für alle Ihre Dokumente oder nur für das aktuelle Dokument festlegen.

Erweitern Sie in der Menüleiste Extras >> Optionen die Spracheinstellungen und klicken Sie auf Sprachen

Bildbeschreibung hier eingeben

Ändern Sie das Gebietsschema in Farsi. (Beachten Sie, dass dies unabhängig von der Einstellung für die Benutzeroberfläche ist.)

Ändern Sie die CTL in Standard - Farsi . Dadurch wird auch unten automatisch die Option Aktiviert für komplexes Textlayout (CTL) aktiviert. CTL verarbeitet Sprachen von rechts nach links.

Überprüfen Sie für das aktuelle Dokument nur entsprechend Ihrer Präferenz.

Ändern des globalen Zahlenstils

Klicken Sie auf der linken Seite des Dialogfelds auf Komplexes Textlayout und ändern Sie die Ziffern in Hindi . (in diesem Screenshot nicht gezeigt)

Zeigen Sie mit Einfügen >> Seitenzahl das Dialogfeld Kopf- / Fußzeile an, um Ihren Folien Seitenzahlen hinzuzufügen.

Wenn Sie in den Spracheinstellungen Zahlen auf Hindi setzen, können Sie "arabische" Zahlen verwenden, ohne einen Eingabemethoden-Editor wie Ibus zu verwenden. In diesem Zusammenhang sind arabische Ziffern natürlich 1,2,3 ...

Ist es möglich, Hindi-Nummern in der Seitennummernfunktion des Folienfußes zu verwenden, ohne jede Nummer in Hindi zu ändern?

Kurze Antwort: nicht über die GUI-Einstellungen. Abgesehen von der Einstellung für den globalen Zahlenstil scheint es keine Möglichkeit zu geben, die Funktion zum Einfügen von Seitenzahlen zu ändern.

Interessanterweise können Sie das Datum in der Fußzeile ganz einfach auf Persisch ändern . Ich glaube, die Seitenzahlen können nicht auf ähnliche Weise geändert werden, da die Seitenzahlen anscheinend aus Funktionen stammen, die für die Arbeit mit dem Drucker erforderlich sind.

Die Lösung besteht darin, die integrierte Seitennummerierung in der Fußzeile überhaupt nicht zu verwenden und stattdessen Ihre eigene Textform in denselben Bereich einzufügen, in dem der Text wie gewünscht festgelegt ist. Für eine kleine Anzahl von Folien wäre dies nicht schlecht. wäre aber mit mehr als einer handvoll nicht machbar.

Die Lösung für dieses Problem besteht darin, ein LibreOffice Basic-Makro zu verwenden, um die Seitenzahlen für Sie einzufügen. Eine kurze Übersicht über LibreOffice-Makros und deren Verwendung in Ihrem Dokument finden Sie in dieser Antwort .

Hier ist der Makrocode:

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
chaskes
quelle
Ich möchte, dass das Dokument auch auf anderen Computern gleich aussieht! Auf diese Weise tut es nicht.
SeMeKh
Außerdem möchte ich nur, dass die "Seitenzahlen" auf Persisch sind. Nicht "alle verwendeten Nummern".
SeMeKh
@SeMeKh Bitte beachten Sie die aktualisierte Antwort
chaskes
0

tools-> options -> languages ​​settings -> complex text layout
general options setze es auf hindi
und hier ist ein Screenshot davon

Abdalla Mohamed Aly Ibrahim
quelle
0

Dies kann einfach in zwei Schritten erfolgen.

SCHRITT 1: Ändern Sie das Gebietsschema

Gehen Sie zum Menü und klicken Sie auf Extras> Optionen und wählen Sie dann Sprachen unter Spracheinstellungen.

Bild zeigt Schritt eins

Hier ändern Sie Folgendes:

  1. Ländereinstellung - Ändern Sie diese Einstellung in Arabisch (oder in die gewünschte Sprache).
  2. CTL - Stellen Sie dies ebenfalls auf Arabisch ein (nur wenn Sie eine Sprache verwenden, die ein komplexes Textlayout verwendet).
  3. Aktivieren Sie das Kontrollkästchen "Nur für das aktuelle Dokument", wenn diese Änderung nur für das Dokument gelten soll, das gerade bearbeitet wird
  4. Klicken Sie auf "OK" und speichern Sie die Einstellung. Stellen Sie an dieser Stelle sicher, dass die im Seitennummernfeld verwendete Schriftart die Sprache unterstützt. In meinem Fall hat die Schriftart Time New Roman arabische Zeichen (۰۱۲۳)

SCHRITT 2: Wählen Sie den Feldtyp

Wählen Sie nun den Text im Seitenzahlenfeld aus (stellen Sie sicher, dass die Schriftart richtig ist) und wählen Sie dann im Menü: Bearbeiten> Felder

Bild, das Schritt zwei zeigt

Ändern Sie im folgenden Fenster 'Felder bearbeiten' das Format in Native Numbering (wie oben gezeigt). Klicken Sie zum Speichern und Schließen auf "OK".

Sie sind fertig!

Jasir Alavi
quelle