LibreOffice Impressのページ番号をペルシャ語にしたいのですが。これは0123456789ではなくmeansを意味します。
これらの設定はすべてのLibreOfficeアプリケーションとドキュメントで機能するため、どのアプリケーションセットからでも変更を加えることができます。
ロケールの変更
すべてのドキュメントまたは現在のドキュメントのみに対して、ペルシア語をデフォルトとして設定できます。
メニューバーから、Tools >> Optionsを展開し、Language Settingsを展開して、言語
Localeをペルシア語に変更します。 (これは、上記のユーザーインターフェイスの設定とは無関係です。)
CTLをDefault-Farsiに変更します。これにより、以下の複雑なテキストレイアウト(CTL)の有効化も自動的にチェックされます。 CTLは、右から左の言語を処理します。
現在のドキュメントのみを確認してください。
グローバルな数字スタイルの変更
ダイアログの左側にあるComplex Text Layoutをクリックし、数字をHindiに変更します。 (このスクリーンショットには表示されていません)
スライドにページ番号を追加するには、Insert >> Page Numberを使用して、Header/Footerダイアログを表示します。
言語設定で数字をHindiに設定すると、Ibusなどの入力方式エディターを使用せずに「アラビア語」の数字を使用できます。この文脈では、もちろん、Arabic数字は1,2,3...
スライドフッターのページ番号関数でヒンディ語を使用できますかwithoutすべての数字をヒンディ語に変更しますか?
簡単な答え:GUI設定を使用しない。グローバル番号スタイル設定とは別に、ページ番号を挿入する機能を変更する方法はないようです。
興味深いことに、フッターを使用すると、dateをペルシア語に簡単に変更できます。ページ番号はプリンタで動作する関数から描画されているように見えるため、ページ番号を同様の方法で変更することはできません。
解決策は、組み込みのフッターページの番号付けをまったく使用せず、代わりに希望する方法で設定されたテキストで同じ領域に独自のテキストシェイプを挿入することです。少数のスライドの場合、これはそれほど悪くありません。しかし、一握り以上では実現不可能です。
this問題の解決策は、LibreOffice Basicマクロを使用してページ番号を挿入することです。 LibreOfficeマクロの簡単な概要とドキュメントでそれらを使用する方法については、 this answer を参照してください。
マクロコードは次のとおりです。
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
これは、2つのステップで簡単に実行できます。
ステップ1:ロケールの変更
メニューに移動してツール>オプションをクリックし、言語設定の下の言語を選択します
ここで以下を変更します。
ステップ2:フィールドタイプの選択
次に、ページ番号フィールドでテキストを選択し(フォントが正しいことを確認します)、メニューから次を選択します。
開いた[フィールドの編集]ウィンドウで、FormatをNative Numberingに変更します(上記を参照)。 [OK]をクリックして保存して閉じます。
できました!
ツール->オプション->言語設定->複雑なテキストレイアウト
一般的なオプションはhindiに設定します
これがスクリーンショットです