mirror of
https://github.com/gnustep/libs-back.git
synced 2025-04-23 16:10:52 +00:00
Use GSEncodingFromLocale
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@14834 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
f66abd75a6
commit
9b6ec6114a
4 changed files with 28 additions and 29 deletions
|
@ -1,3 +1,11 @@
|
|||
2002-10-21 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* Source/x11/XIMInputServer.m
|
||||
([XIMInputServer -initWithDelegate:display:name:]): Use
|
||||
GSEncodingFromLocale.
|
||||
* Source/xlib/XGFont.m ([XGFontInfo -setupAttributes]): Idem.
|
||||
* Source/xlib/XftFontInfo.m ([XftFontInfo -setupAttributes]): Idem.
|
||||
|
||||
2002-10-19 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* Source/x11/XGServerEvent.m ([XGServer
|
||||
|
|
|
@ -30,7 +30,9 @@
|
|||
#include <Foundation/NSData.h>
|
||||
#include <Foundation/NSDebug.h>
|
||||
#include <Foundation/NSException.h>
|
||||
#include <base/Unicode.h>
|
||||
#include <AppKit/NSWindow.h>
|
||||
#include <AppKit/GSFontInfo.h>
|
||||
|
||||
#include "x11/XGInputServer.h"
|
||||
#include <X11/Xlocale.h>
|
||||
|
@ -60,7 +62,6 @@
|
|||
name: (NSString *)name
|
||||
{
|
||||
char *locale;
|
||||
NSString *localeEncoding;
|
||||
delegate = aDelegate;
|
||||
ASSIGN(server_name, name);
|
||||
dbuf = RETAIN([NSMutableData dataWithCapacity: BUF_LEN]);
|
||||
|
@ -69,32 +70,23 @@
|
|||
for X. Also just get CTYPE locale (which is typically the one that
|
||||
deals with character handling */
|
||||
locale = setlocale(LC_CTYPE, "");
|
||||
localeEncoding = [NSString stringWithCString: locale];
|
||||
if (XSupportsLocale() != True)
|
||||
{
|
||||
NSLog(@"Xlib does not support locale setting %@", localeEncoding);
|
||||
NSLog(@"Xlib does not support locale setting %s", locale);
|
||||
/* FIXME: Should we reset the locale or just hope that X
|
||||
can deal with it? */
|
||||
}
|
||||
localeEncoding = [[[localeEncoding componentsSeparatedByString: @"."]
|
||||
lastObject] lowercaseString];
|
||||
NSDebugLLog(@"XIM", @"XIM locale encoding is %@", localeEncoding);
|
||||
// FIXME: Use [GSFontInfo +encodingForRegistry:encoding:]?
|
||||
if ([localeEncoding isEqualToString:@"big5"])
|
||||
{
|
||||
encoding = NSBIG5StringEncoding;
|
||||
}
|
||||
#ifdef HAVE_UTF8
|
||||
else if ([localeEncoding isEqualToString:@"utf8"]
|
||||
|| [localeEncoding isEqualToString:@"utf-8"] )
|
||||
{
|
||||
encoding = NSUTF8StringEncoding;
|
||||
}
|
||||
encoding = GSEncodingFromLocale(locale);
|
||||
#ifndef HAVE_UTF8
|
||||
if (encoding == NSUTF8StringEncoding)
|
||||
encoding = GSUndefinedEncoding;
|
||||
#endif
|
||||
else
|
||||
if (encoding == GSUndefinedEncoding)
|
||||
{
|
||||
encoding = [NSString defaultCStringEncoding];
|
||||
}
|
||||
NSDebugLLog(@"XIM", @"XIM locale encoding for %s is %@", locale,
|
||||
GetEncodingName(encoding));
|
||||
|
||||
#ifdef USE_XIM
|
||||
if ([self ximInit: dpy] == NO)
|
||||
|
|
|
@ -294,8 +294,9 @@ static BOOL XGInitAtoms(Display *dpy)
|
|||
|
||||
if (enc != nil)
|
||||
{
|
||||
mostCompatibleStringEncoding = [GSFontInfo encodingForRegistry: reg
|
||||
encoding: enc];
|
||||
mostCompatibleStringEncoding = GSEncodingForRegistry(reg, enc);
|
||||
if (mostCompatibleStringEncoding == GSUndefinedEncoding)
|
||||
mostCompatibleStringEncoding = NSASCIIStringEncoding;
|
||||
encodingScheme = [NSString stringWithFormat: @"%@-%@",
|
||||
reg, enc];
|
||||
NSDebugLog(@"Found encoding %d for %@",
|
||||
|
|
|
@ -435,23 +435,21 @@ static NSMutableDictionary *_globalFontDictionary = nil;
|
|||
reg = [encoding objectAtIndex: 0];
|
||||
if (reg != nil)
|
||||
{
|
||||
NSString *enc = [encoding lastObject];
|
||||
|
||||
if (enc != nil)
|
||||
if ([encoding count] > 1)
|
||||
{
|
||||
mostCompatibleStringEncoding = [GSFontInfo encodingForRegistry: reg
|
||||
encoding: enc];
|
||||
NSString *enc = [encoding lastObject];
|
||||
mostCompatibleStringEncoding = GSEncodingForRegistry(reg, enc);
|
||||
if (mostCompatibleStringEncoding == GSUndefinedEncoding)
|
||||
mostCompatibleStringEncoding = NSASCIIStringEncoding;
|
||||
if (mostCompatibleStringEncoding == NSUnicodeStringEncoding)
|
||||
mostCompatibleStringEncoding = NSUTF8StringEncoding;
|
||||
|
||||
encodingScheme = [NSString stringWithFormat: @"%@-%@",
|
||||
reg, enc];
|
||||
//NSLog(@"Found encoding %d for %@", mostCompatibleStringEncoding, encodingScheme);
|
||||
RETAIN(encodingScheme);
|
||||
[fontDictionary setObject: encodingScheme
|
||||
forKey: NSAFMEncodingScheme];
|
||||
}
|
||||
}
|
||||
else
|
||||
encodingScheme = nil;
|
||||
/*
|
||||
height = XGFontPropULong(xdpy, font_info, XA_X_HEIGHT);
|
||||
if (height != 0)
|
||||
|
|
Loading…
Reference in a new issue