Bagaimana cara mengatur LibreOffice untuk menggunakan nomor halaman Persia / Arab-Indikator / Hindi?

17

Saya ingin memiliki nomor halaman saya di LibreOffice Impress dalam bahasa Persia. Yang berarti ۰۱۲۳۴۵۶۷۸۹ bukannya 0123456789.

SeMeKh
sumber
Sudahkah Anda mengkonfigurasi bahasa Persia sebagai bahasa default untuk aplikasi itu? Bisakah Anda menambahkan tangkapan layar?
Lucio

Jawaban:

22

Pengaturan ini berfungsi di semua aplikasi dan dokumen LibreOffice, sehingga Anda dapat membuat perubahan dari set aplikasi apa pun.

Mengubah lokal

Anda dapat menetapkan bahasa Persia sebagai standar untuk semua dokumen Anda atau hanya untuk dokumen saat ini.

Dari bilah menu, Alat >> Opsi , lalu rentangkan Pengaturan Bahasa dan klik Bahasa

masukkan deskripsi gambar di sini

Ubah Lokal ke Persia. (Perhatikan bahwa ini tidak tergantung pada pengaturan untuk antarmuka pengguna di atas.)

Ubah CTL ke Default - Farsi . Ini juga akan secara otomatis memeriksa Diaktifkan untuk tata letak teks kompleks (CTL) di bawah ini. CTL menangani bahasa kanan-ke-kiri.

Periksa Untuk dokumen saat ini hanya sesuai dengan preferensi Anda.

Mengubah gaya angka global

Klik pada Tata Letak Teks Kompleks di sisi kiri dialog dan ubah angka menjadi Hindi . (tidak ditampilkan dalam tangkapan layar ini)

Gunakan Sisipkan >> Nomor Halaman untuk menampilkan dialog Header / Footer untuk menambahkan nomor halaman ke slide Anda.

Mengatur angka ke bahasa Hindi dalam Pengaturan Bahasa memungkinkan Anda menggunakan angka "Arab" tanpa menggunakan editor metode input seperti Ibus. Dalam konteks ini, tentu saja, angka Arab adalah 1,2,3 ...

Apakah mungkin menggunakan nomor Hindi di fungsi nomor halaman slide footer tanpa mengubah setiap angka menjadi Hindi?

Jawaban singkat: tidak melalui pengaturan GUI. Terlepas dari pengaturan gaya angka global, tampaknya tidak ada cara untuk memodifikasi fungsi yang menyisipkan nomor halaman.

Cukup menarik, catatan kaki memungkinkan Anda dengan mudah mengubah tanggal ke Persia. Saya percaya nomor halaman tidak dapat diubah dengan cara yang sama karena nomor halaman tampaknya diambil dari fungsi untuk bekerja dengan printer.

Solusinya adalah dengan tidak menggunakan penomoran halaman footer bawaan sama sekali dan alih-alih masukkan bentuk teks Anda sendiri di area yang sama dengan teks mengatur seperti yang Anda inginkan. Untuk sejumlah kecil slide, ini tidak akan terlalu buruk; tetapi tidak akan layak dengan lebih dari segelintir.

Solusi untuk masalah ini adalah dengan menggunakan makro LibreOffice Basic untuk memasukkan nomor halaman untuk Anda. Untuk tinjauan umum singkat tentang makro LibreOffice dan cara menggunakannya dalam dokumen Anda, silakan lihat jawaban ini .

Ini adalah kode makro:

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
sumber
Saya ingin dokumen terlihat sama di komputer lain juga! Dengan cara ini tidak.
SeMeKh
Juga, saya hanya ingin "nomor halaman" dalam bahasa Persia. Tidak "semua angka digunakan".
SeMeKh
@ SeMeKh Silakan lihat jawaban yang diperbarui
chaskes
0

alat-> opsi -> pengaturan bahasa -> tata letak teks yang kompleks
pilihan umum mengaturnya ke hindi
dan inilah tangkapan layarnya

Abdalla Mohamed Aly Ibrahim
sumber
0

Ini dapat dengan mudah dilakukan dalam dua langkah.

LANGKAH 1: Ubah Lokal

Masuk ke menu dan klik: Alat> Opsi , lalu pilih Bahasa di bawah Pengaturan Bahasa.

Menampilkan Gambar Langkah Pertama

Berikut ubah yang berikut:

  1. Pengaturan Lokal - ubah ini ke Bahasa Arab (atau bahasa apa pun yang Anda inginkan).
  2. CTL - atur ini ke bahasa Arab juga (hanya jika Anda menggunakan bahasa yang menggunakan Tata Letak Teks Kompleks)
  3. Centang kotak 'Untuk dokumen saat ini saja' jika Anda ingin perubahan ini hanya untuk dokumen ini yang sedang diedit
  4. Klik 'OK' dan simpan pengaturan. Pada titik ini pastikan font yang digunakan di bidang nomor halaman mendukung bahasa. Dalam kasus saya, font Time New Roman memiliki karakter Arab number (۰۱۲۳)

LANGKAH 2: Pilih Jenis Bidang

Sekarang pilih teks di bidang nomor halaman (pastikan fontnya benar) dan kemudian dari menu pilih: Edit> Fields

Menampilkan Gambar Langkah Dua

Di jendela 'Edit Bidang' yang terbuka, ubah Format ke Penomoran Asli (seperti yang ditunjukkan di atas). Klik 'OK' untuk menyimpan dan menutup.

Kamu sudah selesai!

Jasir Alavi
sumber