ペルシャ語/アラビア語/ヒンディー語のページ番号を使用するようにLibreOfficeを設定するにはどうすればよいですか?


17

LibreOffice Impressのページ番号をペルシャ語にしたいのですが。これは0123456789ではなくmeansを意味します。


そのアプリケーションのデフォルト言語としてペルシャ語を設定しましたか?スクリーンショットを追加してもらえますか?
ルシオ

回答:


22

これらの設定は、すべてのLibreOfficeアプリケーションおよびドキュメントで機能するため、どのアプリケーションセットからでも変更を加えることができます。

ロケールの変更

すべてのドキュメントまたは現在のドキュメントのみに対して、ペルシア語をデフォルトとして設定できます。

メニューバーの[ツール ] >> [オプション]から[ 言語設定]を展開し、[言語]をクリックします。

ここに画像の説明を入力してください

ロケールをペルシア語に変更します。(これは、上記のユーザーインターフェイスの設定とは無関係です。)

CTLデフォルト-ペルシア語に変更します。これにより、以下の複雑なテキストレイアウト(CTL)の[有効]も自動的にチェックさます。CTLは、右から左の言語を処理します。

現在の文書については、自分の好みに応じてのみ確認してください。

グローバル数字スタイルの変更

ダイアログの左側にある[ 複雑なテキストレイアウト ]をクリックし、数字をヒンディー語に変更します。(このスクリーンショットには表示されていません)

スライドにページ番号を追加するには、[ 挿入] >> [ページ番号]を使用して[ヘッダー/フッター]ダイアログを表示します。

言語設定で数字をヒンディー語に設定すると、Ibusなどの入力方式エディターを使用せずに「アラビア語」の数字を使用できます。この文脈では、もちろん、アラビア数字は1,2,3 ...

すべての番号をヒンディー語に変更せずに、スライドフッターのページ番号機能でヒンディー語の番号を使用できますか?

簡単な答え:GUI設定を使用しない。グローバル番号スタイルの設定とは別に、ページ番号を挿入する関数を変更する方法はないようです。

興味深いことに、フッターを使用すると、日付をペルシャ語に簡単に変更できます。ページ番号は、プリンターで動作する関数から描画されたように見えるため、同様の方法でページ番号を変更することはできないと思います。

解決策は、組み込みのフッターページの番号付けをまったく使用せず、代わりに希望する方法で設定されたテキストと同じ領域に独自のテキストシェイプを挿入することです。少数のスライドの場合、これはそれほど悪くありません。しかし、ほんの一握り以上では実行不可能です。

この問題の解決策は、LibreOffice Basicマクロを使用してページ番号を挿入することです。LibreOfficeのマクロとどのようにあなたの文書でそれらを使用する方法の概要については、以下を参照してくださいこの答えを

マクロコードは次のとおりです。

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

他のコンピューターでもドキュメントを同じように見せたいです!この方法ではできません。
SeMeKh

また、「ページ番号」をペルシア語にするだけです。「使用されたすべての数字」ではありません。
SeMeKh

@SeMeKh更新された答えをご覧ください
-chaskes


0

これは、2つのステップで簡単に実行できます。

ステップ1:ロケールを変更する

:メニューに持って、クリックツール]> [オプション ]を選択し、言語を言語設定。

ステップ1を示す画像

ここで以下を変更します。

  1. ロケール設定-これをアラビア語(または任意の言語)に変更します。
  2. CTL-これもアラビア語に設定します(複合テキストレイアウトを使用する言語を使用している場合のみ)
  3. 編集中のこのドキュメントに対してのみこの変更を行う場合は、[現在のドキュメントのみ]チェックボックスをオンにします。
  4. 「OK」をクリックして設定を保存します。この時点で、ページ番号フィールドで使用されているフォントが言語をサポートしていることを確認してください。私の場合、Time New Romanフォントにはアラビア数字が含まれています(۰۱۲۳)

ステップ2:フィールドタイプを選択する

次に、ページ番号フィールドでテキストを選択し(フォントが正しいことを確認します)、メニューから次を選択します:編集>フィールド

ステップ2を示す画像

開いた[フィールドの編集]ウィンドウで、[ 形式]を[ ネイティブの番号付け]に変更します(上記を参照)。[OK]をクリックして保存して閉じます。

できました!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.