Bug 691097 - get_next_char maps '?' on 'space' when using UFST with lineprinter font
Summary: get_next_char maps '?' on 'space' when using UFST with lineprinter font
Status: NOTIFIED DUPLICATE of bug 691098
Alias: None
Product: GhostPCL
Classification: Unclassified
Component: PCL fonts (show other bugs)
Version: master
Hardware: PC Windows XP
: P4 normal
Assignee: Henry Stiles
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-02-01 02:20 UTC by norbert.janssen
Modified: 2011-09-18 21:47 UTC (History)
0 users

See Also:
Customer: 661
Word Size: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description norbert.janssen 2010-02-01 02:20:42 UTC
When compiling with the UFST fontrasterizer and printing attached testfile
(selecting lineprinter font) and printing the '?' character a ' ' (space) is
printed instead. When using AFS it is printed correctly.

Caused by this piece of code in pctext.c :: get_next_char()

    if (plfont->storage == pcds_internal && chr == 0x0020) {
        *pis_space = true;
        *pchr = 0xffff;
        return 0;
     }

    /* check if the character is in the font and get the character
       width at the same time */

I.e. pl_map_symbol(...) returned (chr = 32)
the '?' has key=32 in the pl_map_m2u[] (With AFS the pl_map_symbol() skips the
pl_map_Unicode_to_MSL() because of is_MSL == 0 (with UFST is_MSL == 1).
pl_load_ufst_lineprinter() in plulfont.c sets the lineprinterfont to be MSL.
Comment 1 norbert.janssen 2010-02-01 02:49:06 UTC
due to slow connection I submitted the bug twice

*** This bug has been marked as a duplicate of 691098 ***
Comment 2 Marcos H. Woehrmann 2011-09-18 21:47:03 UTC
Changing customer bugs that have been resolved more than a year ago to closed.