Hi dvholten,

   I'll look into this, clearly this is a bit more involved to
fix, I appreciate your bringing this to our attention.

   I've integrated your other bug fixes.

   Thanks a lot!

[EMAIL PROTECTED] wrote:

there are lots of calls to toUppercase() and toLowerCase() in the batik-code.
While many of them look innocent, there are potential problems:
it is recommended coding practice to give a locale-specifer when using one of these methods. Especially the turkish locale has 'very special' conversion for both of
their 'i'-characters.
The proposed solution is to introduce a static helper-method, which explicitly passes the english locale
which uses the intended conversion.

While most of batik's conversions may go through, i found one real problem:
   dom/events/DocumentEventSupport line 121
 UI_EVENT_DOM2_TYPE.toLowerCase()        ( defined as "UIEvents" )
will give an unexpected result in a turkish locale.
Fix: use helper with defined locale.

This problem can come up wherever 'random' uppercase text can be the input.
I think these places are suspicious:
dom/svg/SAXSVGDocumentFactory: 169
contentType = contentType.toLowerCase() // contenttype might be 'image/svg+xml; charset=iso8859 like in comment

awt/image/codec/PNGImageDecoder: 467
properties.put( key.toLowerCase(), ... ) // key contains the chunktype, which can be 'tIME' there are two more calls in that file, but it is not clear yet, what the string might contain there
Fix: use helper with defined locale.

awt/image/codec/PNGRed: 457 same as above - code duplicated??
Fix: use helper with defined locale.


awt/image/coded/SimpleRenderedImage: 229
229: name = name.toLowerCase() // some property-name for lookup, can be anything
273:    prefix = prefix.toLowerCase()       // can be anything
Fix: ???

gvt/font/FontFamilyResolver
76: fonts.put( fontNames[i].toLowerCase() ... // system-specific, whenever a font-name contains 'I'
84: same
89: same
124: same
143: same
148; same
153: same
Fix: ???

gvt/font/GVTFontFace
103:  use of font-names for lookup
105:  use of font-names for lookup
Fix: ???

swing/svg/SVGFileFilter
43: fileName = f.gethPath().toLowercase() // only filename-extension is used, no problem here

util/ParsedURL
481:   makes problem when url-protocol contains uppercase 'I'
Fix: use helper with defined locale.

util/ParsedURLDefaultProtocolHandler
128: same as above
267: same as above
Fix: use helper with defined locale.

util/EncodingUtilities
95: encoding.toUppercase() used to lookup one of defines encodings - will fail, when request contains lowercase 'i' in turkey.
Fix: use helper with defined locale.

util/io/StreamNormalizingReader
158: encoding.toUpperCase() used to lookup decoder - will fail, when requested encoding contains lowercase 'i' in turkey.
Fix: use helper with defined locale.


Thats all for now. I am not from turkey, but i have done a project there a few years ago - and those 4 'i's have bitten me sometimes.
For further, more detailed information about this topic i refer you to
http://cafe.elharo.com/java/turkish


greetings
dvholten


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to