Try my commit just now, I think that should fix this problem.

Christiaan

On 14 Jan 2008, at 1:55 AM, Adam R. Maxwell wrote:

> We just got a bug report on the following author name:
>
> Čharœ̄nwong, Phisit and Diskul, Subhadradis
>
> which 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 check
>
>         if ([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>
> ---------------------------------------------------------------------- 
> ---
> 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


-------------------------------------------------------------------------
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

Reply via email to