Closed
      
        Bug 88050
      
      
        Opened 24 years ago
          Closed 24 years ago
      
        
    
  
0x5C (backslash) MUST be kept as it is under Unix/Linux for Korean
Categories
(Core :: Internationalization, defect)
        Core
          
        
        
      
        
    
        Internationalization
          
        
        
      
        
    Tracking
()
        RESOLVED
        FIXED
        
    
  
        
            mozilla0.9.6
        
    
  
People
(Reporter: jshin, Assigned: ftang)
References
()
Details
(Keywords: intl)
Attachments
(2 files)
| 699 bytes,
          patch         | ftang
:
              
              review+ | Details | Diff | Splinter Review | 
| 859 bytes,
          patch         | Details | Diff | Splinter Review | 
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux 2.2.19-5mdksecure i586; en-US; 0.8)
Gecko/20010215
BuildID:    20010607 : m0.9.1
0x5C (backslash) is converted to WON Sign
(U20A9) by  layout/html/base/src/nsTextTransformer.cpp
(see 
 nsTextTransformer::LanguageSpecificTransform()
 around line 693)
This is fine for MS-Windows where Windows-949 is used.
However, this should NOT be done for Unix/Linux.
 
Reproducible: Always
Steps to Reproduce:
Go to the URL above under Unix/Linux 
Actual Results:  '?' mark is used where 'backslash' should be (e.g.
C:?windows?system)
Expected Results:  'backslash' should be used instead of '?'.
'?' is used because the 
glyph for U20A9 (WON SIGN) is not available. 
Even if the glyph for U20A9 (WON SIGN) is available,
'backslash' should be preserved instead
of being converted to WON SIGN (at least in Unix/Linux).
KS X 2901 (where EUC-KR is defined) stipulates
that backslash be given a higher priority over WON 
SIGN. 
Even for MS-WIndows(where Windows-949 is
used), this conversion is not necessary
because even without this conversion, backslash
would be displayed as 'WON SIGN' under MS-Windows
since most Korean fonts for MS-Windows have
'won sign' at the position of 'backslash'.
  I suggest either of the following two fixes:
  A. Remove the following code for Korean 
     in nsTextTransformer.cpp     : 
     it will work correctly for both MS-WIndows
        and Unix(-like OS) and MacOS
717 else if (mLanguageSpecificTransformType ==
718 eLanguageSpecificTransformType_Korean) {
719 for (PRInt32 i = 0; i < aLen; i++) {
720 if (aText[i] == 0x5C) { // BACKSLASH
721 aText[i] = 0x20A9; // WON SIGN
722 SetHasMultibyte(PR_TRUE);
723 *aWasTransformed = PR_TRUE;
724 }
725 }
   B. Make the code above activated for only
      MS-Windows. Perhaps, conditional-compilation
      using #ifdef is better than adding
      another condition in if-statement for
      platform detection at run-time
      because Unix/Linux does NOT need the code
      at all. (as I said above, MS-Windows does
      NOT need it, either. Therefore option A is
      preferred to option B)
BTW, I think the same is true of Japanese
so that nsTextTransformer::LanguageSpecificTransform()
beginning at line 693 can be removed.
->Internationalization
Assignee: karnaze → nhotta
Component: Layout → Internationalization
QA Contact: petersen → andreasb
|   | ||
| Comment 2•24 years ago
           | ||
Reassign to ftang.
http://lxr.mozilla.org/seamonkey/source/layout/html/base/src/nsTextTransformer.cpp#693
Assignee: nhotta → ftang
|   | ||
| Updated•24 years ago
           | 
QA Contact: andreasb → ylong
|   | Assignee | |
| Comment 3•24 years ago
           | ||
>BTW, I think the same is true of Japanese so that
>nsTextTransformer::LanguageSpecificTransform() beginning at line 693 can
>be removed.
No, these lines are added by erik to address problem in Japanese. I can trust 
your judgetment about Korean, but don't speak for Japanese please. 
Status: NEW → ASSIGNED
|   | Assignee | |
| Comment 4•24 years ago
           | ||
I trust jshin@pantheon.yale.edu (Jungshik Shin) about any Korean iseue. 
Here is a patch
Target Milestone: --- → mozilla0.9.3
|   | Assignee | |
| Comment 5•24 years ago
           | ||
|   | Assignee | |
| Comment 6•24 years ago
           | ||
jshin: can you r= this ?
|   | Reporter | |
| Comment 7•24 years ago
           | ||
Thank you for the patch.
The patch looks fine. 
r=jshin
|   | Assignee | |
| Comment 9•24 years ago
           | ||
move to m0.9.5
Keywords: nsbranch
Target Milestone: mozilla0.9.4 → mozilla0.9.5
|   | Assignee | |
| Comment 10•24 years ago
           | ||
ask sr= today.
|   | ||
| Comment 11•24 years ago
           | ||
nsbranch- since Frank moved it to 0.9.5
|   | Assignee | |
| Comment 12•24 years ago
           | ||
Comment on attachment 41328 [details] [diff] [review]
patch accofding to jshin@pantheon.yale.edu (Jungshik Shin)
r=ftang
The code change is simple. And we trust jshin's answer for all
Korean related issue since he is one of the most
knowledge person about Korean Software.
        Attachment #41328 -
        Flags: review+
|   | ||
| Comment 13•24 years ago
           | ||
CVS will never forget this code; how likely are we to need it again?
|   | Assignee | |
| Comment 14•24 years ago
           | ||
yea, we can remove the whole chunk instead of #if 0 it. 
I think no one have strong opinion about it. 
Target Milestone: mozilla0.9.5 → mozilla0.9.6
|   | Assignee | |
| Comment 15•24 years ago
           | ||
|   | Assignee | |
| Comment 16•24 years ago
           | ||
jshin- can you r= the v2 patch ?
waterson - can you sr= this patch ?
|   | Reporter | |
| Comment 17•24 years ago
           | ||
r=jshin
|   | ||
| Comment 18•24 years ago
           | ||
looks good. sr=waterson
|   | Assignee | |
| Updated•24 years ago
           | 
|   | Assignee | |
| Comment 19•24 years ago
           | ||
fixed and check in 
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
          You need to log in
          before you can comment on or make changes to this bug.
        
Description
•