[Lazarus] CHM help package

Werner Pamler werner.pamler at freenet.de
Tue Dec 12 16:03:17 CET 2017


Am 12.12.2017 um 10:35 schrieb Ondrej Pokorny via Lazarus:
> On 11.12.2017 18:32, Werner Pamler via Lazarus wrote:
>> I cloned your repo on my HD, and went through it step by step while 
>> always trying to build lhelp, I could remove everything from the 
>> folder chm except for these units: chmfifimain, chmreader, 
>> chmsitemap, chmtypes (and chmobjinstance.inc). I think it is possible 
>> to extract the essential changes from these units to get at least the 
>> new reading functionality. I can try this - but: before beginning I'd 
>> like to get positive feedback from fpc devs that this will be merged 
>> (I have some old patches hanging around there, and it is not always 
>> motivating to submit fpc patches).
>>
>> As for the unit lcid_conv: This fits into Lazarus' LazUtils, and 
>> should go there independently of how this story ends here. I have 
>> commit rights to Lazarus and can put it there. Any objections?
>
> Why not to use TEncoding provided with FPC 3?

This is not the point. chm stores a Windows LCID to identify which 
codepage is used for index and table of contents within the chm. 
Therefore, LCID and codepage must be mapped to each other. This is what 
Sergey's unit lcid_conv does. TEncoding does not have anything to do 
with LCID.

I am no longer sure if it really fits into LazUtils because as I 
understand now the unit is needed also for writing - no it should be 
with the other chm units in (fpc)/packages/chm.


More information about the Lazarus mailing list