File fix-hardcode_fontsets.patch of Package uim_backports

--- ./scm/im-custom.scm.orig	2018-05-12 06:33:26.000000000 +0900
+++ ./scm/im-custom.scm	2022-12-27 03:26:48.885043624 +0900
@@ -645,6 +645,47 @@
 		 (lambda ()
 		   uim-xim-use-xft-font?))
 
+(define-custom 'uim-xim-fontset-ja
+  (string-join '(
+    "-sony-fixed-medium-r-normal--16-*-*-*-c-80-iso8859-1"
+    "-jis-fixed-medium-r-normal--16-*-75-75-c-160-jisx0208.1983-0"
+    "-sony-fixed-medium-r-normal--16-*-*-*-c-80-jisx0201.1976-0"
+    ) ",")
+  '(xim xim-preedit)
+  '(string ".*")
+  (N_ "Fontset for preedit area (ja)")
+  (N_ "long description will be here."))
+
+(define-custom 'uim-xim-fontset-ko
+  (string-join '(
+    "-sony-fixed-medium-r-normal--16-*-*-*-c-80-iso8859-1"
+    "-daewoo-gothic-medium-r-normal--16-120-100-100-c-160-ksc5601.1987-0"
+    ) ",")
+  '(xim xim-preedit)
+  '(string ".*")
+  (N_ "Fontset for preedit area (ko)")
+  (N_ "long description will be here."))
+
+(define-custom 'uim-xim-fontset-zh-cn
+  (string-join '(
+    "-sony-fixed-medium-r-normal--16-*-*-*-c-80-iso8859-1"
+    "-isas-fangsong ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0"
+    ) ",")
+  '(xim xim-preedit)
+  '(string ".*")
+  (N_ "Fontset for preedit area (zh_CN)")
+  (N_ "long description will be here."))
+
+(define-custom 'uim-xim-fontset-zh-tw
+  (string-join '(
+    "-sony-fixed-medium-r-normal--16-*-*-*-c-80-iso8859-1"
+    "-taipei-fixed-medium-r-normal--16-150-75-75-c-160-big5-0"
+    ) ",")
+  '(xim xim-preedit)
+  '(string ".*")
+  (N_ "Fontset for preedit area (zh_TW)")
+  (N_ "long description will be here."))
+
 ;;
 ;; X Keyboard Extension specific custom
 ;;
--- ./xim/convdisp.cpp.orig	2018-05-12 06:33:26.000000000 +0900
+++ ./xim/convdisp.cpp	2022-12-27 03:34:29.006936968 +0900
@@ -68,12 +68,6 @@
 static Window getTopWindow(Display *, Window);
 #endif
 
-const char *fontset_zhCN = "-sony-fixed-medium-r-normal--16-*-*-*-c-80-iso8859-1, -isas-fangsong ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0";
-const char *fontset_zhTW = "-sony-fixed-medium-r-normal--16-*-*-*-c-80-iso8859-1, -taipei-fixed-medium-r-normal--16-150-75-75-c-160-big5-0";
-const char *fontset_ja = "-sony-fixed-medium-r-normal--16-*-*-*-c-80-iso8859-1, -jis-fixed-medium-r-normal--16-*-75-75-c-160-jisx0208.1983-0, -sony-fixed-medium-r-normal--16-*-*-*-c-80-jisx0201.1976-0";
-const char *fontset_ko = "-sony-fixed-medium-r-normal--16-*-*-*-c-80-iso8859-1, -daewoo-gothic-medium-r-normal--16-120-100-100-c-160-ksc5601.1987-0";
-
-
 #if HAVE_XFT_UTF8_STRING
 XftFont *gXftFont;
 char *gXftFontName;
@@ -131,7 +125,7 @@
 static XFontSet
 create_default_fontset(const char *im_lang, const char *locale) {
     char *orig_locale;
-    const char *name;
+    char *name;
     XFontSet ret;
 
     orig_locale = strdup(setlocale(LC_CTYPE, NULL));
@@ -140,17 +134,21 @@
 	setlocale(LC_CTYPE, locale);
 
     if (!strcmp(im_lang, "ja"))
-	name = fontset_ja;
+	name = uim_scm_symbol_value_str("uim-xim-fontset-ja");
     else if (!strcmp(im_lang, "ko"))
-	name = fontset_ko;
+	name = uim_scm_symbol_value_str("uim-xim-fontset-ko");
     else if (!strcmp(im_lang, "zh_CN"))
-	name = fontset_zhCN;
+	name = uim_scm_symbol_value_str("uim-xim-fontset-zh-cn");
     else if (!strcmp(im_lang, "zh_TW:zh_HK"))
-	name = fontset_zhTW;
+	name = uim_scm_symbol_value_str("uim-xim-fontset-zh-tw");
     else
-	name = fontset_ja; // XXX fallback fontset
+	name = uim_scm_symbol_value_str("uim-xim-fontset-ja"); // XXX fallback fontset
+
+    if (!name)
+	name = strdup("fixed");
 
     ret = get_font_set(name, locale);
+    free(name);
 
     if (strcmp(locale, orig_locale))
 	setlocale(LC_CTYPE, orig_locale);
openSUSE Build Service is sponsored by