diff options
author | Andrew Choi <akochoi@shaw.ca> | 2001-09-04 06:49:24 +0000 |
---|---|---|
committer | Andrew Choi <akochoi@shaw.ca> | 2001-09-04 06:49:24 +0000 |
commit | 84034811e5cda83c4554b54e6f7d0c391060b836 (patch) | |
tree | 6fd268c2adbc062261744fb454d6017801963f44 /mac/src | |
parent | 41cee00ce4e7bf5050a0cf972bfd50ae7d836c23 (diff) | |
download | emacs-84034811e5cda83c4554b54e6f7d0c391060b836.tar.gz |
2001-09-04 Andrew Choi <akochoi@cse.cuhk.edu.hk>
* src/macterm.c (mac_to_x_fontname): Return name with
jisx0201.1976-0 encoding if a script code of -smJapanese is specified.
(x_font_name_to_mac_font_name): Also recognize the jisx0201.1976-0
encoding.
(init_font_name_table): Use a script code of -smJapanese instead
of smRoman for the second entry of a Japanese font.
(XLoadQueryFont): Recognize a font as having the smRoman script
code if its encoding is jisx0201.1976-0.
Diffstat (limited to 'mac/src')
-rw-r--r-- | mac/src/macterm.c | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/mac/src/macterm.c b/mac/src/macterm.c index db7b50884bb..7775e28fb15 100644 --- a/mac/src/macterm.c +++ b/mac/src/macterm.c @@ -10287,6 +10287,15 @@ mac_to_x_fontname (char *name, int size, Style style, short scriptcode) case smJapanese: strcpy(cs, "jisx0208.1983-sjis"); break; + case -smJapanese: + /* Each Apple Japanese font is entered into the font table + twice: once as a jisx0208.1983-sjis font and once as a + jisx0201.1976-0 font. The latter can be used to display + the ascii charset and katakana-jisx0201 charset. A + negative script code signals that the name of this latter + font is being built. */ + strcpy(cs, "jisx0201.1976-0"); + break; case smKorean: strcpy(cs, "ksc5601.1989-0"); break; @@ -10330,6 +10339,7 @@ x_font_name_to_mac_font_name (char *xf, char *mf) if (strcmp (cs, "big5-0") == 0 || strcmp (cs, "gb2312.1980-0") == 0 || strcmp (cs, "jisx0208.1983-sjis") == 0 + || strcmp (cs, "jisx0201.1976-0") == 0 || strcmp (cs, "ksc5601.1989-0") == 0 || strcmp (cs, "mac-roman") == 0) strcpy(mf, family); else @@ -10409,16 +10419,15 @@ init_font_name_table () assc_entry->fontSize, assc_entry->fontStyle, scriptcode); - /* Both jisx0208.1983-sjis and jisx0201.1976-sjis - parts are contained in Apple Japanese (SJIS) - font. */ + /* Both jisx0208.1983-sjis and jisx0201.1976-0 parts + are contained in Apple Japanese (SJIS) font. */ if (smJapanese == scriptcode) { font_name_table[font_name_count++] = mac_to_x_fontname (name, assc_entry->fontSize, assc_entry->fontStyle, - smRoman); + -smJapanese); } } } @@ -10676,16 +10685,16 @@ XLoadQueryFont (Display *dpy, char *fontname) font->mac_scriptcode = FontToScript (fontnum); /* Apple Japanese (SJIS) font is listed as both - "*-jisx0208.1983-sjis" (Japanese script) and "*-mac-roman" (Roman - script) in init_font_name_table(). The latter should be treated - as a one-byte font. */ + "*-jisx0208.1983-sjis" (Japanese script) and "*-jisx0201.1976-0" + (Roman script) in init_font_name_table(). The latter should be + treated as a one-byte font. */ { char cs[32]; if (sscanf (name, "-%*[^-]-%*[^-]-%*[^-]-%*c-%*[^-]--%*[^-]-%*[^-]-%*[^-]-%*[^-]-%*c-%*[^-]-%31s", cs) == 1 - && 0 == strcmp (cs, "mac-roman")) + && 0 == strcmp (cs, "jisx0201.1976-0")) font->mac_scriptcode = smRoman; } |