Uploaded image for project: 'FOP'
  1. FOP
  2. FOP-846

last character width in winansi font is missed

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Resolution: Unresolved
    • 0.20.5
    • None
    • renderer/pdf
    • None
    • Operating System: Linux
      Platform: PC
    • 26590

    Description

      Hi to everybody who takes care on this beautiful software !

      Environment:
      GNU/Debian Linux 3.0
      FOP 0.20.5

      As I working with cyrrilic fonts I have troubles with winansi fonts.
      I know it doesn't support cyrrilic encoding (WINDOWS-1251), and
      supports only Latin1 character set. Meanwhile CID fonts are not
      supported properly as for copy-paste/find operation is PDF. So I was
      forced to make "cyrrilic" ttf within first 256 character and replace
      last 128 ones with "cyrrilic" symbols.

      Now I can work (copy-paste/find) with latin characters and see
      cyrrilic characters in winansi encoding. While I was experimenting I
      found a bug. Fop 0.20.5 doesn't calculate the width of the last
      character (0xFF). Since, there is no need in the latin charset to
      see this character, nobody knows about this bug.

      I found the solution:
      please refer

      src/org/apache/fop/render/pdf/fonts/SingleByteFont.java line 268
      System.arraycopy(width, 0, arr, 0, width.length - 1);

      and

      src/org/apache/fop/render/pdf/fonts/MultiByteFont.java line 328
      System.arraycopy(width, 0, arr, 0, width.length - 1);

      I belive there should be "width.length" instead of "width.length - 1".

      However it doesn't resolve the problem in full. I can see cyrrilic
      characters, but still can't operate with them.
      Can anybody advise me ?
      Should I wait for official release which works with CID properly ?
      or there is another solution ?

      Thanks
      -------
      Pavel Kud

      Attachments

        Activity

          People

            Unassigned Unassigned
            pscream@mail.ru pscream
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: