diff options
| author | Andrew Choi | 2001-09-04 06:49:24 +0000 |
|---|---|---|
| committer | Andrew Choi | 2001-09-04 06:49:24 +0000 |
| commit | 2f64cf3ace5559ef474abb0153377e8be078c7f6 (patch) | |
| tree | ebe1924b945d86f5c15ead5d81826f6e63e8b7a3 /mac/src | |
| parent | 3428f2c48a370de1a8500c6f4f2a70fff2fe9df4 (diff) | |
| download | emacs-2f64cf3ace5559ef474abb0153377e8be078c7f6.tar.gz emacs-2f64cf3ace5559ef474abb0153377e8be078c7f6.zip | |
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) | |||
| 10287 | case smJapanese: | 10287 | case smJapanese: |
| 10288 | strcpy(cs, "jisx0208.1983-sjis"); | 10288 | strcpy(cs, "jisx0208.1983-sjis"); |
| 10289 | break; | 10289 | break; |
| 10290 | case -smJapanese: | ||
| 10291 | /* Each Apple Japanese font is entered into the font table | ||
| 10292 | twice: once as a jisx0208.1983-sjis font and once as a | ||
| 10293 | jisx0201.1976-0 font. The latter can be used to display | ||
| 10294 | the ascii charset and katakana-jisx0201 charset. A | ||
| 10295 | negative script code signals that the name of this latter | ||
| 10296 | font is being built. */ | ||
| 10297 | strcpy(cs, "jisx0201.1976-0"); | ||
| 10298 | break; | ||
| 10290 | case smKorean: | 10299 | case smKorean: |
| 10291 | strcpy(cs, "ksc5601.1989-0"); | 10300 | strcpy(cs, "ksc5601.1989-0"); |
| 10292 | break; | 10301 | break; |
| @@ -10330,6 +10339,7 @@ x_font_name_to_mac_font_name (char *xf, char *mf) | |||
| 10330 | 10339 | ||
| 10331 | if (strcmp (cs, "big5-0") == 0 || strcmp (cs, "gb2312.1980-0") == 0 | 10340 | if (strcmp (cs, "big5-0") == 0 || strcmp (cs, "gb2312.1980-0") == 0 |
| 10332 | || strcmp (cs, "jisx0208.1983-sjis") == 0 | 10341 | || strcmp (cs, "jisx0208.1983-sjis") == 0 |
| 10342 | || strcmp (cs, "jisx0201.1976-0") == 0 | ||
| 10333 | || strcmp (cs, "ksc5601.1989-0") == 0 || strcmp (cs, "mac-roman") == 0) | 10343 | || strcmp (cs, "ksc5601.1989-0") == 0 || strcmp (cs, "mac-roman") == 0) |
| 10334 | strcpy(mf, family); | 10344 | strcpy(mf, family); |
| 10335 | else | 10345 | else |
| @@ -10409,16 +10419,15 @@ init_font_name_table () | |||
| 10409 | assc_entry->fontSize, | 10419 | assc_entry->fontSize, |
| 10410 | assc_entry->fontStyle, | 10420 | assc_entry->fontStyle, |
| 10411 | scriptcode); | 10421 | scriptcode); |
| 10412 | /* Both jisx0208.1983-sjis and jisx0201.1976-sjis | 10422 | /* Both jisx0208.1983-sjis and jisx0201.1976-0 parts |
| 10413 | parts are contained in Apple Japanese (SJIS) | 10423 | are contained in Apple Japanese (SJIS) font. */ |
| 10414 | font. */ | ||
| 10415 | if (smJapanese == scriptcode) | 10424 | if (smJapanese == scriptcode) |
| 10416 | { | 10425 | { |
| 10417 | font_name_table[font_name_count++] | 10426 | font_name_table[font_name_count++] |
| 10418 | = mac_to_x_fontname (name, | 10427 | = mac_to_x_fontname (name, |
| 10419 | assc_entry->fontSize, | 10428 | assc_entry->fontSize, |
| 10420 | assc_entry->fontStyle, | 10429 | assc_entry->fontStyle, |
| 10421 | smRoman); | 10430 | -smJapanese); |
| 10422 | } | 10431 | } |
| 10423 | } | 10432 | } |
| 10424 | } | 10433 | } |
| @@ -10676,16 +10685,16 @@ XLoadQueryFont (Display *dpy, char *fontname) | |||
| 10676 | font->mac_scriptcode = FontToScript (fontnum); | 10685 | font->mac_scriptcode = FontToScript (fontnum); |
| 10677 | 10686 | ||
| 10678 | /* Apple Japanese (SJIS) font is listed as both | 10687 | /* Apple Japanese (SJIS) font is listed as both |
| 10679 | "*-jisx0208.1983-sjis" (Japanese script) and "*-mac-roman" (Roman | 10688 | "*-jisx0208.1983-sjis" (Japanese script) and "*-jisx0201.1976-0" |
| 10680 | script) in init_font_name_table(). The latter should be treated | 10689 | (Roman script) in init_font_name_table(). The latter should be |
| 10681 | as a one-byte font. */ | 10690 | treated as a one-byte font. */ |
| 10682 | { | 10691 | { |
| 10683 | char cs[32]; | 10692 | char cs[32]; |
| 10684 | 10693 | ||
| 10685 | if (sscanf (name, | 10694 | if (sscanf (name, |
| 10686 | "-%*[^-]-%*[^-]-%*[^-]-%*c-%*[^-]--%*[^-]-%*[^-]-%*[^-]-%*[^-]-%*c-%*[^-]-%31s", | 10695 | "-%*[^-]-%*[^-]-%*[^-]-%*c-%*[^-]--%*[^-]-%*[^-]-%*[^-]-%*[^-]-%*c-%*[^-]-%31s", |
| 10687 | cs) == 1 | 10696 | cs) == 1 |
| 10688 | && 0 == strcmp (cs, "mac-roman")) | 10697 | && 0 == strcmp (cs, "jisx0201.1976-0")) |
| 10689 | font->mac_scriptcode = smRoman; | 10698 | font->mac_scriptcode = smRoman; |
| 10690 | } | 10699 | } |
| 10691 | 10700 | ||