Index: src/Graphics/Fonts/font.cpp
===================================================================
--- src/Graphics/Fonts/font.cpp	(revision 3481)
+++ src/Graphics/Fonts/font.cpp	(working copy)
@@ -193,21 +193,31 @@
 
 string
 default_chinese_font_name () {
-  if (tt_font_exists ("fireflysung")) return "fireflysung";
-  if (tt_font_exists ("儷黑 Pro")) return "lihei";
   if (tt_font_exists ("华文细黑")) return "heiti";
   if (tt_font_exists ("simsun")) return "simsun";
   if (tt_font_exists ("SimSun")) return "apple-simsun";
+  if (tt_font_exists ("uming")) return "uming";
   return "roman";
 }
 
 string
+default_taiwanese_font_name () {
+  if (tt_font_exists ("fireflysung")) return "fireflysung";
+  if (tt_font_exists ("儷黑 Pro")) return "lihei";
+  if (tt_font_exists ("mingliu")) return "mingliu";
+  if (tt_font_exists ("bsmi00lp")) return "bsmi";
+  return "roman";
+}
+
+string
 default_japanese_font_name () {
   if (tt_font_exists ("ipam")) return "modern";
   if (tt_font_exists ("ヒラギノ明朝 ProN W6")) return "kaku";
   if (tt_font_exists ("MS PGothic")) return "ms-gothic";
   if (tt_font_exists ("MS PMincho")) return "ms-mincho";
-  return "roman";  
+  if (tt_font_exists ("msmincho")) return "msmincho";
+  if (tt_font_exists ("TakaoMincho")) return "TakaoMincho";
+  return "roman";
 }
 
 string
Index: src/Graphics/Fonts/font.hpp
===================================================================
--- src/Graphics/Fonts/font.hpp	(revision 3481)
+++ src/Graphics/Fonts/font.hpp	(working copy)
@@ -72,6 +72,7 @@
 };
 
 string default_chinese_font_name ();
+string default_taiwanese_font_name ();
 string default_japanese_font_name ();
 string default_korean_font_name ();
 
Index: src/Guile/Glue/build-glue-basic.scm
===================================================================
--- src/Guile/Glue/build-glue-basic.scm	(revision 3481)
+++ src/Guile/Glue/build-glue-basic.scm	(working copy)
@@ -26,6 +26,7 @@
   (qt-gui? gui_is_qt (bool))
   (default-look-and-feel default_look_and_feel (string))
   (default-chinese-font default_chinese_font_name (string))
+  (default-taiwanese-font default_taiwanese_font_name (string))
   (default-japanese-font default_japanese_font_name (string))
   (default-korean-font default_korean_font_name (string))
   (tm-output tm_output (void string))
Index: src/Guile/Glue/glue_basic.cpp
===================================================================
--- src/Guile/Glue/glue_basic.cpp	(revision 3481)
+++ src/Guile/Glue/glue_basic.cpp	(working copy)
@@ -103,6 +103,15 @@
 }
 
 SCM
+tmg_default_taiwanese_font () {
+  // SCM_DEFER_INTS;
+  string out= default_taiwanese_font_name ();
+  // SCM_ALLOW_INTS;
+
+  return string_to_scm (out);
+}
+
+SCM
 tmg_default_japanese_font () {
   // SCM_DEFER_INTS;
   string out= default_japanese_font_name ();
@@ -4429,6 +4438,7 @@
   scm_new_procedure ("qt-gui?", (FN) tmg_qt_guiP, 0, 0, 0);
   scm_new_procedure ("default-look-and-feel", (FN) tmg_default_look_and_feel, 0, 0, 0);
   scm_new_procedure ("default-chinese-font", (FN) tmg_default_chinese_font, 0, 0, 0);
+  scm_new_procedure ("default-taiwanese-font", (FN) tmg_default_taiwanese_font, 0, 0, 0);
   scm_new_procedure ("default-japanese-font", (FN) tmg_default_japanese_font, 0, 0, 0);
   scm_new_procedure ("default-korean-font", (FN) tmg_default_korean_font, 0, 0, 0);
   scm_new_procedure ("tm-output", (FN) tmg_tm_output, 1, 0, 0);
Index: TeXmacs/progs/fonts/fonts-truetype.scm
===================================================================
--- TeXmacs/progs/fonts/fonts-truetype.scm	(revision 3481)
+++ TeXmacs/progs/fonts/fonts-truetype.scm	(working copy)
@@ -66,6 +66,7 @@
     ((apple-symbols $v $a $b $s $d) (unicode #{Apple Symbols}# $s $d))
     ((apple-simsun $v $a $b $s $d) (unicode SimSun $s $d))
     ((batang $v $a $b $s $d) (unicode Batang $s $d))
+    ((bsmi $v $a $b $s $d) (unicode bsmi00lp $s $d))
     ((fireflysung $v $a $b $s $d) (unicode fireflysung $s $d))
     ((gulim $v $a $b $s $d) (unicode Gulim $s $d))
     ((ipa ss $a $b $s $d) (unicode ipagui $s $d))
@@ -83,6 +84,8 @@
     ((ms-gothic $v $a $b $s $d) (unicode #{MS PGothic}# $s $d))
     ((ms-mincho tt $a $b $s $d) (unicode #{MS Mincho}# $s $d))
     ((ms-mincho $v $a $b $s $d) (unicode #{MS PMincho}# $s $d))
+    ((msgothic $v $a $b $s $d) (unicode msgothic $s $d))
+    ((msmincho $v $a $b $s $d) (unicode msmincho $s $d))
     ((simfang $v $a $b $s $d) (unicode simfang $s $d))
     ((simhei $v $a $b $s $d) (unicode simhei $s $d))
     ((simkai $v $a $b $s $d) (unicode simkai $s $d))
@@ -91,6 +94,10 @@
     ((simsun $v bold $b $s $d) (unicode simhei $s $d))
     ((simsun $v $a $b $s $d) (unicode simsun $s $d))
     ((simyou $v $a $b $s $d) (unicode simyou $s $d))
+    ((takao $v bold proportional $s $d) (unicode TakaoPGothic $s $d))
+    ((takao $v bold $b $s $d) (unicode TakaoGothic $s $d))
+    ((takao $v $a proportional $s $d) (unicode TakaoPMincho $s $d))
+    ((takao $v $a $b $s $d) (unicode TakaoMincho $s $d))
     ((ukai $v $a $b $s $d) (unicode ukai $s $d))
     ((uming $v $a $b $s $d) (unicode uming $s $d))
     ((unbatang ss bold $b $s $d) (unicode UnDotumBold $s $d))
@@ -120,6 +127,8 @@
 
     ((sys-chinese $v $a $b $s $d)
      (,(string->symbol (default-chinese-font)) $v $a $b $s $d))
+    ((sys-taiwanese $v $a $b $s $d)
+     (,(string->symbol (default-taiwanese-font)) $v $a $b $s $d))
     ((sys-japanese $v $a $b $s $d)
      (,(string->symbol (default-japanese-font)) $v $a $b $s $d))
     ((sys-korean $v $a $b $s $d)
Index: TeXmacs/progs/generic/document-edit.scm
===================================================================
--- TeXmacs/progs/generic/document-edit.scm	(revision 3481)
+++ TeXmacs/progs/generic/document-edit.scm	(working copy)
@@ -81,8 +81,11 @@
 			      '("bulgarian" "russian" "ukrainian")))
 	(cyrillic-after (in? lan '("bulgarian" "russian" "ukrainian")))
 	(chinese-before (in? (tree->stree (get-init-tree "language"))
-			     '("chinese" "taiwanese")))
-	(chinese-after (in? lan '("chinese" "taiwanese")))
+			     '("chinese")))
+	(chinese-after (in? lan '("chinese")))
+	(taiwanese-before (in? (tree->stree (get-init-tree "language"))
+			     '("taiwanese")))
+	(taiwanese-after (in? lan '("taiwanese")))
 	(japanese-before (in? (tree->stree (get-init-tree "language"))
 			      '("japanese")))
 	(japanese-after (in? lan '("japanese")))
@@ -91,6 +94,7 @@
 	(korean-after (in? lan '("korean"))))
     (if (and cyrillic-before (not cyrillic-after)) (init-default "font"))
     (if (and chinese-before (not chinese-after)) (init-default "font"))
+    (if (and taiwanese-before (not taiwanese-after)) (init-default "font"))
     (if (and japanese-before (not japanese-after)) (init-default "font"))
     (if (and korean-before (not korean-after)) (init-default "font"))
     (init-env "language" lan)
@@ -98,6 +102,8 @@
 	(init-env "font" "cyrillic"))
     (if (and chinese-after (not chinese-before))
 	(init-env "font" "sys-chinese"))
+    (if (and taiwanese-after (not taiwanese-before))
+	(init-env "font" "sys-taiwanese"))
     (if (and japanese-after (not japanese-before))
 	(init-env "font" "sys-japanese"))
     (if (and korean-after (not korean-before))
