changeset 39107:e4461ba10180

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.
author Andrew Choi <akochoi@shaw.ca>
date Tue, 04 Sep 2001 06:49:24 +0000
parents dc9d8a2e8650
children bb0557fdcd9a
files mac/ChangeLog mac/src/macterm.c
diffstat 2 files changed, 26 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/mac/ChangeLog	Tue Sep 04 06:19:12 2001 +0000
+++ b/mac/ChangeLog	Tue Sep 04 06:49:24 2001 +0000
@@ -4,7 +4,15 @@
 
 	* src/macterm.c (XTread_socket): Read all pending events in the
 	event queue instead of one.
-
+	(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.
+	
 	* makefile.MPW: Generate etc/DOC file from .elc files instead of
 	.el files.
 
--- a/mac/src/macterm.c	Tue Sep 04 06:19:12 2001 +0000
+++ b/mac/src/macterm.c	Tue Sep 04 06:49:24 2001 +0000
@@ -10287,6 +10287,15 @@
       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 @@
 
   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 @@
 					 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 @@
   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;
   }