2009-12-17 7 views
2

우리는 apache의 xsl fo 엔진, 즉 fop 0.95를 사용하여 pdf를 생성합니다. 우리는 xml에서 pdf로 아라비아어 텍스트를 성공적으로 보여주었습니다. 그러나 표시된 단어의 방향에 문제가 있습니다.apache fop을 사용하여 아랍어 텍스트를 왼쪽에서 오른쪽으로 표시 0.95

우리는 'sangam'('sangam'은 아랍어라고 가정하십시오)이 xml이면 'magnas'로 표시됩니다. 전에 만난 사람이 있습니까? 해결책은 무엇일까요? PDF로 표시 될 때

<empltmoblab>موبایل</empltmoblab> 

이 지금이이 같이 표시됩니다 :

لیابوم 

이 난 그냥 무엇입니까 의미 예를 들어

,이 같은 XML 파일에서 하나 개의 노드가 역. 나는 XML 노드에있는 그대로 그것을 원한다.

감사합니다.

+0

그것은 분명하지 않다. 아랍어가 오른쪽에서 왼쪽으로 표시된다는 것을 알고 있습니다. – pavium

+0

어쩌면 몇 가지 예제를 게시하면 도움이 될 것입니다. –

+0

@pavium, 아랍어는 오른쪽에서 왼쪽으로 표시됩니다. 현재의 문제가 실제 문제인지 아닌지 혼란 스럽습니다. xml에 그대로 텍스트를 표시하지 않아야합니까? @scott, 나는 예제를 – sangam

답변

0

나는 그것이 흥미로운 problem.It (오른쪽에서 왼쪽으로) bidi (양방향 속성)을 사용하여 해결할 수 있지만 불행히도 여전히 fop에 의해 지원되지 않을 것 같아요. 아무도 해결책이 있다면 아주 좋을 것입니다.

나는 fop에서 아랍어 텍스트를 렌더링 할 수 없다는 것을 알았습니다.

유일한 해결 방법은 PDF 문서 대신 RTF 문서를 생성하는 것이 었습니다. RTF 문서에서 아랍어 텍스트가 XML 파일에 그대로 표시됩니다. PDF 대신 RTF를 사용해 볼 수 있습니까? 저를 위해 일한 것입니다.

감사합니다.

+0

@Thunder로 추가했습니다. 맞습니다. bidi-overeide 속성이 fop에서 지원되면 문제가 해결 될 수 있습니다. 그러나 우리는 지금 그것을 가지고 있지 않습니다. – sangam

+0

@Thunder : 이제 FOP 1.1이 bidi를 지원하는 것 같습니다. https://xmlgraphics.apache.org/fop/changes.html을 보면 FOP-959, FOP-1790, FOP-1827을 참조로 사용합니다. 내 테스트에서, 지금은 괜찮아. – Quamis

1

이를 사용해보십시오 : 텍스트 방향의 반전이 바람직하지 않거나없는 말을하는지 여부를

<fo:block-container writing-mode="rl-tb" font-family="ArabicTransparent" language="fa"> 
     <fo:block> 
      علی‌ کریمی (Farsi-right-to-left) 
     </fo:block> 
    </fo:block-container> 
+0

죄송 합니다만, 쓰기 모드 = "rl-tb"를 fo : blockcontainer에 넣는 것은 실패합니다. 문자가 아닌 픽셀의 오른쪽에서 왼쪽 쓰기가 생성됩니다! 이것은 fop-1.0을 사용하여 히브리어 텍스트를 만드는 킬러입니다. (아랍인과 유대인 모두 fop-1.0으로 PDF로 텍스트를 가져올 수 없습니다.) –

관련 문제