We just got a bug report on the following author name:
Čharœ̄nwong, Phisit and Diskul, Subhadradiswhich likely won't come through in the message. Anyway, there's a dipthong oe with a combining macro over it. We convert that to {\oe}x where x is the macron. When reading the file back in, it appears to be a } with a macron over it, which is obviously wrong.
At present, we just don't support characters that can't be precomposed, and we don't have a graceful way of handling them.
In copyStringByTeXifyingString I added another checkif ([finalCharSet characterIsMember:ch] || [[NSCharacterSet nonBaseCharacterSet] characterIsMember:ch]){
tmpConv = [[NSMutableString alloc] initWithCharactersNoCopy:&ch length:1 freeWhenDone:NO];
// try the dictionary first if((TEXString = [texifyConversions objectForKey:tmpConv])){[convertedSoFar replaceCharactersInRange:NSMakeRange((idx + offset), 1) withString:TEXString]; // we're adding length-1 characters, so we have to make sure we insert at the right point in the future.
offset += [TEXString length] - 1;// fall back to Unicode decomposition/conversion of the mutable string } else if(convertComposedCharacterToTeX(tmpConv, baseCharacterSetForTeX, accentCharSet, texifyAccents)){ [convertedSoFar replaceCharactersInRange:NSMakeRange((idx + offset), 1) withString:tmpConv]; // we're adding length-1 characters, so we have to make sure we insert at the right point in the future.
offset += [tmpConv length] - 1; } [tmpConv release]; }which causes an attempt to convert the macron alone, but that fails since convertComposedCharacterToTeX() doesn't know what to do with it and we don't have another else condition as a fallback.
Personally I'm reasonably certain that this won't affect me, and even if it does I'll fix it manually. Still, the fact remains that we're writing stuff we can't read in, and that's bad. Any ideas? I don't see an easy fix for this, and I don't want to rewrite character conversion again.
-- adam
enc2.bib
Description: Binary data
------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________ Bibdesk-develop mailing list Bibdesk-develop@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bibdesk-develop