LibreOffice'i Farsça / Arapça-Hintçe / Hintçe sayfa numaralarını kullanacak şekilde nasıl ayarlayabilirim?


17

Sayfa numaralarının LibreOffice Impress'te Farsça olmasını istiyorum. Bu, 0123456789 yerine ۰۱۲۳۴۵۶۷۸۹ anlamına gelir.


Farsça'yı bu uygulama için varsayılan dil olarak yapılandırdınız mı? Bir ekran görüntüsü ekleyebilir misiniz?
Lucio

Yanıtlar:


22

Bu ayarlar tüm LibreOffice uygulamalarında ve belgelerinde çalışır, böylece herhangi bir uygulama kümesinden değişiklik yapabilirsiniz.

Yerel ayarı değiştirme

Farsça'yı tüm belgeleriniz veya yalnızca geçerli belge için varsayılan olarak ayarlayabilirsiniz.

Menü çubuğundan Araçlar >> Seçenekler , sonra genişletin Dil Ayarları ve tıklayın Diller

resim açıklamasını buraya girin

Yerel ayarı Farsça olarak değiştirin . (Bunun, yukarıdaki kullanıcı arayüzü ayarından bağımsız olduğunu unutmayın.)

Değişim CTL için Standart - Farsça'yı . Bu ayrıca aşağıdaki karmaşık metin düzeni (CTL) için Etkin'i otomatik olarak kontrol edecektir . CTL sağdan sola dilleri işler.

Kontrol Sadece geçerli belge için sizin tercihi özelliğini göre.

Global rakam stilini değiştirme

İletişim kutusunun sol tarafındaki Karmaşık Metin Düzeni'ne tıklayın ve sayıları Hintçe olarak değiştirin . (bu ekran görüntüsünde gösterilmemiştir)

Slaytlarınıza sayfa numaraları eklemek için Üstbilgi / Altbilgi iletişim kutusunu göstermek için Ekle >> Sayfa Numarası'nı kullanın .

Dil Ayarlarında sayıları Hintçe olarak ayarlamak , Ibus gibi bir giriş yöntemi düzenleyicisi kullanmadan "Arapça" sayıları kullanmanızı sağlar. Bu bağlamda, elbette, Arap rakamları 1,2,3 ...

O slayt altbilgi sayfa numarası işlevinde Hintçe numaralarını kullanmak mümkün mü olmadan Hintçeye her numarayı değiştirme?

Kısa cevap: GUI ayarlarından değil. Genel sayı stili ayarının dışında, sayfa numaraları ekleyen işlevi değiştirmenin herhangi bir yolu yoktur.

İlginçtir, altbilgi tarihi Farsça olarak kolayca değiştirmenizi sağlar . Sayfa numaralarının benzer şekilde değiştirilemeyeceğine inanıyorum, çünkü sayfa numaraları yazıcıyla çalışmak için işlevlerden çizilmiş gibi görünüyor.

Çözüm, yerleşik altbilgi sayfası numaralandırmasını hiç kullanmamak ve bunun yerine, kendi metin şeklinizi istediğiniz şekilde ayarlanmış metinle aynı alana eklemektir. Az sayıda slayt için bu çok kötü olmaz; ama bir avuç dolusu ile mümkün olmazdı.

Bu sorunun çözümü , sayfa numaralarını sizin için eklemek için bir LibreOffice Basic makrosu kullanmaktır. LibreOffice makrolarına kısa bir genel bakış ve bunları belgenizde nasıl kullanacağınız için lütfen bu cevaba bakın .

Makro kodu şöyledir:

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

Belgenin diğer bilgisayarlarda da aynı görünmesini istiyorum! Bu şekilde olmaz.
SeMeKh

Ayrıca, sadece "sayfa numaralarının" Farsça olmasını istiyorum. "Kullanılan tüm numaralar" değil.
SeMeKh

@SeMeKh Lütfen güncellenmiş cevaba bakınız
chaskes

0

araçlar-> seçenekler -> dil ayarları -> karmaşık metin düzeni
genel seçenekleri Hintçe olarak ayarlar
ve işte bir ekran görüntüsü


0

Bu, iki adımda kolayca yapılabilir.

ADIM 1: Yerel Ayarı Değiştirin

Menüye var ve tıklatın: Araçlar> Seçenekler , ardından seçmek Diller altında Dili Ayarlar.

Birinci Adım Gösteren Görüntü

İşte aşağıdakileri değiştirin:

  1. Yerel Ayar - bunu Arapça (veya istediğiniz herhangi bir dil) olarak değiştirin.
  2. CTL - bunu Arapça olarak da ayarlayın (yalnızca Karmaşık Metin Düzeni kullanan bir dil kullanıyorsanız)
  3. Bu değişikliği yalnızca düzenlenmekte olan bu belge için istiyorsanız 'Yalnızca geçerli belge için' onay kutusunu işaretleyin
  4. 'Tamam'ı tıklayın ve ayarı kaydedin. Bu noktada, sayfa numarası alanında kullanılan yazı tipinin dili desteklediğinden emin olun. Benim durumumda Time New Roman fontunda Arapça sayı Karakterleri var (۰۱۲۳)

ADIM 2: Alan Türünü Seçin

Şimdi sayfa numarası alanındaki metni seçin (yazı tipinin doğru olduğundan emin olun) ve ardından menüden şunu seçin: Düzenle> Alanlar

İkinci Adımdaki Görüntü

Açılıyor 'Düzenleme Alanlar' penceresinde, değiştirmek Format için Yerli Numaralandırma (yukarıda gösterildiği gibi). Kaydetmek ve kapatmak için 'Tamam'ı tıklayın.

Sen bittin!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.