You are not logged in.
Pages: 1
When converting to PDF I have the following problem
a String containing then character " is reversed.
I.E x"y is printed as y"x
I tried to debug the code but it's too complicated. Can you point me to the right routine?
thanks
Amnon
Offline
yes.
I use version 1.18
Offline
Enabling Uniscribe not only by setting the USE_UNISCRIBE conditional, but by explicitly set UseUniscribe := true property of TPdfDocument.
Ensure you set this property.
If it does not work, try to force Canvas.RightToLeftText := TRUE line 8893 of SynPDF.
But from my understanding, ETO_RTLREADING should be set in R.emrtext.fOptions for hebrew.
Offline
Thanks for your fast answer
I already did "UseUniscribe := true"
I corrected line # 8112 to Canvas.RightToLeftText := true;// av R.emrtext.fOptions and ETO_RTLREADING<>0;
I have only 8400 lines in synPDF is there another version?
The problem I raises was solved but a new one appeared
Error in strings mixing Hebrea & digits
==============================
The string "1 xxxx" appears as "xxxx1" earlier it was ok
"6111 5 yyyy 1 xx" appears as "yyyy1 xx6111 5"
it was wrong earlier too i just ignored it.
The xxxx & yyyy are various Hebrew characters
Error strings mixing Latin & Hebrew
"AXmYon" appears as "nonYmXA"
It will help me if you point me to the routine doing the inverting.
thanks again
Amnon
Offline
attached is my full code
procedure TPreviewPrint.PDFClick(Sender: TObject);
var
i:integer;
_PDF:TPdfDocumentGDI;
FN:ansiString;
aMeta:TMetaFile;
begin
_PDF:= TPdfDocumentGDI.Create;
with _PDF do begin
UseUniscribe:= true;
try
_PDF.Canvas.RightToLeftText:= true;
ScreenLogPixels:= 600;
with PagePrinter do for i:= 1 to PagesList.count do begin
aMeta:= TMetaFile(Pages);
//ConvertWMF2BMP(aMeta,'c:\Temp\a.bmp');
if PagePrinter.Orientation=poLandscape then begin
_Pdf.DefaultPageWidth := MulDiv(aMeta.Width,72,_Pdf.ScreenLogPixels);
_Pdf.DefaultPageHeight := MulDiv(aMeta.Height,72,_Pdf.ScreenLogPixels);
end;
with AddPage do begin
// _pdf.VCLCanvas.Draw(0,0,aMeta); // from "http://forum.quickreport.co.uk/default. … osts&t=589"
_PDF.Canvas.RenderMetaFile(aMeta); // from "http://synopse.info/forum/viewtopic.php?id=138"
end;
end; // with PagePrinter
without this lin I get an error message " was found without a matching "
Offline
Please try the latest SynPDF commit proposed by "nosa".
See http://synopse.info/forum/viewtopic.php?id=2515
It includes a lot of improvements for Uniscribe, especially for Right To Left languages.
Offline
Pages: 1