|
|||
|
.NET, Delphi, ... - Sisulizer Localization Tool Support > Technical Support (You need to be registered at the forum to write) > Usage - Three simple steps to localize > ReportBuilder PDF conversion creating Mojibake reports
|
| Moderated by: Renate.Reinartz, Markus.Kreisel, Jaakko.Salmenius, Ilkka.Salmenius |
|
||||||||||||||||
| ReportBuilder PDF conversion creating Mojibake reports - Usage - Three simple steps to localize - Technical Support (You need to be registered at the forum to write) - .NET, Delphi, ... - Sisulizer Localization Tool Support | |||||||||||||||||
| Author | Post | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||||||||
|
paulh Member
|
I am using Delphi 2007 (unfortunately project is not going to be ported to a uni code Delphi) and in the process of localising our application to a number of languages with the first one being Korean. The approach taken is making everything a resourcestring that needs translating and use Sisulizer to build an exe per language. I have a virtual machine with a Korean version of Windows that I use for testing. This has gone very well and a lot of the application has been converted and translated to Korean however there is one problem. For reports I use ReportBuilder (version 11.08). The ReportBuilder report viewer displays the Korean reports correct however when our application needs to provide a report in PDF format the result is Mojibake PDF Reports. I have upgraded ReportBuilder to version 14.03 and this does not solve the problem it produces the same report. The PDF conversion is done with ReportBuilder so that looks like the problem however I have tried 2 other PDF converters (Pragnaan and Gnostice) and they do not produce a Korean report either and in some cases they produce a blank report. The only way I have been successful so far in producing a Korean report is when the the option 'embed used truetype fonts' is taken. This works but the file size for a simple one page pdf report is 14.5MB (I imagine the font part is 99% of its size), an English report is 8KB. I have also tried creating the PDF with different Font encoding options 'StandardEncoding' and 'PDFDocEncoding' and they have no effect. I am posting in this forum in the hope that someone has seen this problem before and has some tips or possibly a solution to my problem. Thank you for your time. Kind regards, Paul
|
||||||||||||||||
| |||||||||||||||||
| |||||||||||||||||
|
Ilkka.Salmenius Administrator
|
Hi Paul, 1) How does mojibake in your Korean PDF look like? Is it similar to this text? http://en.wikipedia.org/wiki/File:Mojibakevector.png 2) What exactly creates the PDF? Is it the ReportBuilder code linked to your application or is it some standalone RB tool that converts .rtm file into PDF? Ilkka
____________________ http://www.sisulizer.com - Three simple steps to localize |
||||||||||||||||
| |||||||||||||||||
|
|||||||||||||||||
|
paulh Member
|
Hi Ilkka, Thank you for your reply. "1) How does mojibake in your Korean PDF look like? Is it similar to this text? http://en.wikipedia.org/wiki/File:Mojibakevector.png" I think so. I have attached a screenshot of the report. "2) What exactly creates the PDF? Is it the ReportBuilder code linked to your application or is it some standalone RB tool that converts .rtm file into PDF?" The screenshot is from a pdf report created by ReportBuilder. When creating reports in ReportBuilder you have an option to create a file or send the report to a preview screen. Kind regards, Paul Attachment: Korean Mojibake report.png (Downloaded 16 times)
|
||||||||||||||||
| |||||||||||||||||
| |||||||||||||||||
|
Ilkka.Salmenius Administrator
|
Thank you for the image. The mojibake appears because RB believes that text contains Latin alphabets. For some reason it does not handle text data as Korean. Check if the localized RB files/data contains character set set to Korean. object ppLabel2: TppLabel UserName = 'Label2' Border.BorderPositions = [] Border.Color = clBlack Border.Style = psSolid Border.Visible = False Caption = 'Capital' Font.Charset = HANGEUL_CHARSET Font.Color = clBlack Font.Name = 'ARIAL' Font.Size = 12 Font.Style = [fsBold] Transparent = True mmHeight = 5165 mmLeft = 35983 mmTop = 2117 mmWidth = 14224 BandType = 0 end If you have localized RB files open the .rtm into text editor to check. If you have localized RB data that is embedded into form then it is more difficult to check if you don't have PE Editor (tool that show resource data of PE). In that case zip you Korean EXE and send it to me i will check it. Please tell the name of the form that contains RB data. Most likely this is OK because Sisulizer update the Fonrt.Charset when creating localized file. Also if the reports that appers on runtime on screen show Korean OK indicates that Charset is properly set. Anyway it is good to check this. Ilkka
____________________ http://www.sisulizer.com - Three simple steps to localize |
||||||||||||||||
| |||||||||||||||||
|
|||||||||||||||||
|
paulh Member
|
Hi Ilkka, Thank you for your reply. I have checked the Korean .rtm file and the charset property is 'Font.Charset = HANGEUL_CHARSET'. Displaying the report in the application either from an embedded report or external report works. It is when the report is converted to pdf when the Mojibake appears. I have created a pdf from an embedded report and external report and both produce the same result, which is a Mojibake report. I can confirm that the external report had the HANGEUL_CHARSET set, I have not looked into the .EXE to verify the embedded report because both embedded and external produced the same result. Attached the English version of the report for your information. The application I am using is a Sisulizer example from "C:\Program Files\Sisulizer 3\Vcl\Delphi\Reports\ReportBuilder" Kind regards, Paul Attachment: English report.png (Downloaded 15 times)
|
||||||||||||||||
| |||||||||||||||||
| |||||||||||||||||
|
Ilkka.Salmenius Administrator
|
PDF needs special fonts in order to show Asian text. Can you send the Korean PDF (without embedded fonts). I take a lok at it. Ilkka
____________________ http://www.sisulizer.com - Three simple steps to localize |
||||||||||||||||
| |||||||||||||||||
|
|||||||||||||||||
|
paulh Member
|
For your information. I have coded a simple one page FastReport into the application as well. The FastReport preview and FastReport pdf file do not work either. Below this post will be 2 more posts with screenshot. Screenshot 1 is English Application on English OS Screenshot 2 is Korean Application on English OS (I am expecting Mojibake) Screenshot 3 is Korean Application on Korean OS. It looks like this problem is not just ReportBuilder, FastReport does not work either. Kind regards, Paul Attachment: FastReport English on English OS.png (Downloaded 14 times)
|
||||||||||||||||
| |||||||||||||||||
| |||||||||||||||||
|
paulh Member
|
Screenshot 2 is Korean Application on English OS (I am expecting Mojibake) Attachment: FastReport Korean on English OS.png (Downloaded 14 times)
|
||||||||||||||||
| |||||||||||||||||
|
|||||||||||||||||
|
paulh Member
|
Screenshot 3 is Korean Application on Korean OS. Attachment: FastReport Korean on Korean OS.png (Downloaded 14 times)
|
||||||||||||||||
| |||||||||||||||||
| |||||||||||||||||
|
paulh Member
|
I do not have a solution but here is some information that I thought is worth sharing. ReportBuilder does not support UniCode until version 12 or greater. So for unicode version of Delphi, ReportBuilder can create unicode pdf's providing you set Report.PDFSettings.FontEncoding to feUnicode. Kind regards, Paul
|
||||||||||||||||
| |||||||||||||||||
| Current time is 01:50 am | |
| .NET, Delphi, ... - Sisulizer Localization Tool Support > Technical Support (You need to be registered at the forum to write) > Usage - Three simple steps to localize > ReportBuilder PDF conversion creating Mojibake reports | |
Sisulizer software localization tool - Three simple steps to localize