7

私はpdfでヒンディー語のテキストを扱っています。ヒンディー語のテキストは生成されますが、間違ったマトラとして表示されます。「ज़िन्दगी」のような単語があるとしますが、次のように表示されます

ここに画像の説明を入力

このテキストをコピーしてLibre Office Writerに貼り付けると、正しく印刷されます。私は tcpdf でほぼ 2 つのフォントを試しました。Arial Unicode MS と Lohit_hi

$tcpdf->SetFont('arialuni', 'B', 15, 'false');
$html = nl2br($result['Song']['hindi']);
$tcpdf->writeHTMLCell(0, 20, 20, 25, $html);

なぜそのキャラクターを見せているのに、彼らの位置を間違えたのか.

4

3 に答える 3

1

writeHTMLCell()の代わりにwriteHTML( )を使用しないのはなぜですか? あなたの問題は明らかに細胞と相関しています。行の高さが間違っているか、背景の繰り返しの CSS 属性が設定されているようです ( background-repeat:none; である必要があります)。writeHTML() はこれを防ぎます。

于 2013-09-21T06:43:06.323 に答える
1

「ज़िन्दगी」をコピーして Microsoft Word に貼り付けると、既定では次のように表示されます。

ここに画像の説明を入力

これは実際にはまったく同じ Unicode 文字列 (つまり、िन の後に virama が続き、その後に द が続く) ですが、フォントによって異なる方法でレンダリングされるだけです。Unicode フォントには、特定の文字列を別のグリフに置き換えるタイミングを決定するための複雑なロジックがあり、PDF で使用されているフォントは、必要な特定の置き換えをサポートしていません。

その置換をサポートするフォントを見つけて、PDF がそのフォントを使用していることを確認するだけです。(現在の setFont 呼び出しが正しく機能していないか、指定したフォントが設定時に使用できないため、システムのヒンディー語文字用のデフォルト フォントが使用されている可能性があります。あなたが言及している代替)。

于 2013-09-02T01:16:29.700 に答える
1

私は、TCPDF がヒンディー語スクリプトを適切にレンダリングできるとは考えていません。複雑なスクリプトを表示するには、フォントだけでは不十分です。次の引用は、TCPDF での Saurashtra テキストのレンダリングに関するコメント スレッドからの抜粋です。これはおそらくヒンディー語にも当てはまります。私の知る限り、マラヤーラム語とグジャラート語も TCPDF でレンダリングできません。

[Re: Tcpdf でサウラシュトラ テキストをレンダリングする] [...] TCPDF の場合、最初に True Type フォントを afm 形式に変換する必要があります。次に、各スクリプトについて、発音記号または合字の規則が tcpdf 自体に実装されます。[...] レンダリングにはフォントだけでは不十分です。複雑なスクリプトがグリフ形成規則を解釈するには、シェーピング エンジンも必要です。これは、PyPDFLib がスクリプト レンダリングに Pango を使用し、グラフィックスに Cairo を使用することで解決しようとしていることです。Santosh -- 新しい言語エコシステムの作成についてコメントする - スーラシュトラを例に

mPDFの例は、この質問の回答で参照されているように、機能的なヒンディー語を示しているようです:ヒンディー語が tcpdf で正しく表示されない

于 2013-09-27T01:34:51.153 に答える