1 /* $XConsortium: udcopt.h /main/4 1996/11/08 01:59:43 cde-fuj $ */
3 * (c) Copyright 1995 FUJITSU LIMITED
4 * This is source code modified by FUJITSU LIMITED under the Joint
5 * Development Agreement for the CDEnext PST.
6 * This is unpublished proprietary source code of FUJITSU LIMITED
9 /***********************************************************************
11 **********************************************************************/
12 #define BDFTOSNF_CMD "bdftosnf"
14 #define BDFTOSNF "/usr/bin/X11/bdftosnf"
16 #define BDFTOSNF SNFFONTC
18 #define SNFSUFFIX ".snf"
20 #define FONT_FILE_PARM 0
22 #define COMM_SNF_POPEN( permission, snf_file, out_file, ep, buf, command ) { \
23 strcpy( (buf), " -i " ) ; \
24 sprintf( (command), "%s %s > %s", bdftosnf, (buf), (out_file) ); \
26 #define COMM_SNF_FILEVERSION( snf_fd, finf, buf, permission ) { \
27 read( (snf_fd), (buf), sizeof(FontInfoRec) ); \
29 (finf) = (FontInfoRec *) (buf) ; \
31 ((finf)->version1 != FONT_FILE_VERSION) || \
32 ((finf)->version2 != FONT_FILE_VERSION) \
36 #define COMM_SNF_NEWTARGET( permission ) (permission) = 0
37 #define COMM_SNF_EXECLBDFTOSNF( permission, buf, snf_file ) { \
38 execl( bdftosnf, bdftosnf, "-i", 0 ); \
40 #define COMM_SNF_GETHEADER( fip, fp ) { \
41 (fip) = (FontInfoRec *)(fp); \
44 #define FAL_FONT_PRM 0
45 #define CHK_PROTECT_KEY( protect_key_data, openfontfile,\
46 fal_utyerror, fal_utyderror )
47 /* case of a snf former font */
48 #define FAL_GET_SNF_HEADER( buf, protect_key_data, fal_utyerror, fal_utyderror, fd, finf, openfontfile ) { \
49 (finf)->pFinf = ( FontInfoPtr )(buf); \
51 ((finf)->pFinf->version1 != (finf)->pFinf->version2) || \
52 ((finf)->pFinf->version1 != FONT_FILE_VERSION) \
54 set_errfile_str( fal_err_file, (openfontfile) ) ; \
55 (fal_utyerror) = _FAL_FONT_ER; \
56 (fal_utyderror) = 0; \
57 fal_utyerrno = FAL_ERR_FONT ; \
58 fal_utyerrno |= (FAL_FUNCNUM_OPNFNT<<8) ; \
61 (finf)->isFef = TRUE ; \
62 (finf)->isPcf = FALSE; \
66 /* falReadGpfProp() */
67 #define FAL_READ_SNF_HEADER( finf, protect_key_data, fal_utyerror, fal_utyderror ) { \
68 (finf)->isFef = TRUE; \
69 (finf)->isPcf = FALSE; \
70 (finf)->pFinf = ( FontInfoPtr )(finf)->buf ; \
71 if ( /* not a snf or fef format */ \
72 ((finf)->pFinf->version1 != (finf)->pFinf->version2) || \
73 ((finf)->pFinf->version1 != FONT_FILE_VERSION) \
75 return _FAL_TRY_NEXT ; \
79 #define ISOPTFONT( file ) 1
81 /***********************************************************************
83 **********************************************************************/
84 #define SHIFTMASK 0x7F7F
85 #define SHIFT_OFF(co) (co)
86 #define SHIFT_ON(co) (co)
87 #define DEFAULTCHAR 0x2121
88 #define CONVGLYPHINDEX( code ) (code)
90 #define DISPCODEPOINT( char_set, code ) (code)
92 #define FAL_OPT_CONVGITOCP( codeset, code )
93 #define FAL_OPT_CONVCPTOGI( codeset, code )
95 /***********************************************************************
96 * options for commands
97 **********************************************************************/
101 #define CDSET1 (1<<2)
104 #define IN_CODE( cc, co ) (( cc ) ? 1 : 1 )
107 #define COMM_SBOPT_CHECKSBOPT( com, code_area )
109 #define COMM_SBOPT_STRCMP( argv, cnt ) (((argv)[(cnt)] ? 0 : 0 ))
110 #define COMM_SBOPT_SETSBOPT( codearea )
112 #define COMM_TYPE_STRCMP( argv, cnt ) ( ((argv)[(cnt)] ? 0 : 0 ))
113 #define COMM_TYPE_SETTYPE( argc, argv, cnt, type )
115 /***********************************************************************
116 * options for commands
117 **********************************************************************/
118 #define COMM_SETDEFAULTSTYLE( style ) (style) = (char *)NULL
120 #define COMM_SETSTYLE_TO_FONTDATA( style, key, mask ) { \
122 char stylebuf[ BUFSIZE ] ; \
123 strcpy( stylebuf, style ) ; \
124 key.style.name = stylebuf ; \
125 mask |= FAL_FONT_MASK_STYLE_NAME ; \
128 #define COMM_ISDEFAULTCHAR( code ) 0
130 #define get_charset_registry(head, p)
131 #define put_default_chars(head, nchar, rtn) {\
135 fprintf( (head)->output, "CHARS %d\n", (nchar) );\
136 if ( ( (rtn) = putDefaultChars( (head) ) ) != 0 ) {\
140 fprintf( (head)->output, "CHARS %d\n", (nchar) );\
143 #define put_default_encode( head ) {\
144 fprintf((head)->output, "STARTCHAR %04x\n", DEFAULTCHAR );\
145 fprintf((head)->output, "ENCODING %d\n", DEFAULTCHAR );\
147 #define put_default_bitmap(head, bytew, posbit, i, j, ptnbuf, ptnbuf2, tmp) { \
148 for ((i) = 0; (i) < (bytew); (i)++) \
149 *((ptnbuf) + (i)) = (unsigned char)0x00;\
150 for ((j) = 0; (j) < (head)->bdf_height; (j)++) {\
151 for ((i) = 0; (i) < (bytew); (i)++) \
152 fprintf((head)->output, "%.2x", *((ptnbuf) + (i)));\
153 fprintf((head)->output, "\n");\
156 #define COMM_SBFNT_ISSBFNT( p ) 0
157 #define COMM_SBFNT_CONVCODETOGI( char_set, head )
158 #define COMM_SBFNT_SETUDCAREA( com, head, char_set, code_area, num_gr, gr ) { \
159 (head).code_category = ALL_CODE ; \
160 (head).start_code = (gr)[0].start ; \
161 (head).end_code = (gr)[(num_gr)-1].end ; \
163 #define COMM_SET_CODESET( codeset, code_area )
164 #define COMM_SET_CODECATEGORY( char_set, code_area, head )
169 #define COMM_HELP_MSG{ \
170 USAGE(" [-codeset number] [-help]\n"); \
173 #define COMM_DSP_LETTER_T
175 #define COMM_HELP_MSG_STYLE USAGE("style (The default value is mincho style.)\n")
177 /***********************************************************************
179 **********************************************************************/
180 #define COMM_SBCHR_SETFONTDATA( data, mask )
181 #define COMM_SBCHR_STRDUP_P( data, odata )
183 #define FAL_DB_OPTION static FalFontDB *fal_db_opt
184 #define CHK_KEY_STR_OPTION( mask, key, flg )
185 #define FAL_FREE_FONTLIST_OPTION( list )
186 #define FAL_CLEAR_DATA_OPTION( tmp )
187 #define SET_STRUCT_OPTION( dup_p, elm, tmp_data, fal_utyerror, fal_db_group )
188 #define FAL_EQ_DATA_OPTION( flg, data, tmp_data )
189 #define FAL_CMP_DATA_OPTION( mask, op1, key )
190 #define DEF_STR_CHK struct { int style, shape; }str_chk
191 #define DEF_STR_SET { \
196 #define NEW_TARGET_SET( diff, choose, target, str_chk )
197 #define NEW_TARGET_CHK( diff, choose, target, str_chk )
200 /***********************************************************************
202 **********************************************************************/
203 #define COMM_GET_DEFAULTFILE_ERROR( buf, com, ret, height, style, list_d, list_c, list_l, statbuf ) {\
206 #define COMM_DISPERRORFILE( com, lst, style, i, size_str ) {\
207 USAGE1("%s : Two or more corresponding user defined characters exist.\n", com);\
208 USAGE("\tcode set\tXLFD\n" );\
209 USAGE("\t--------------------------------------------------\n" );\
210 for ( i = 0 ; i < lst->num; i++ ) {\
211 USAGE2("\t%d\t%s\n", lst->list[i].cd_set-1, lst->list[i].xlfdname );\
215 /***********************************************************************
217 **********************************************************************/
218 #define GETLISTFILEPATH( locale, srch_path, list_d, list_c, list_l, list_file ) { \
219 if ( ( (locale) = getenv( "FAL_LANG" ) ) == NULL ) { \
220 if( ((locale) = (char *)getenv( "LANG" )) == NULL ){\
224 if ( ( (srch_path) = getenv( DTUDCFONTS ) ) == NULL ) { \
225 sprintf( (list_d), "%s/%s", DTUDCFONTSLISTDIR, (list_file) ); \
226 sprintf( (list_c), "%s/C/%s", DTUDCFONTSLISTDIR, (list_file) ); \
227 sprintf( (list_l), "%s/%s/%s", DTUDCFONTSLISTDIR, (locale), (list_file) ); \
229 sprintf( (list_d), "%s/%s", (srch_path), (list_file) ); \
230 sprintf( (list_c), "%s/C/%s", (srch_path), (list_file) ); \
231 sprintf( (list_l), "%s/%s/%s", (srch_path), (locale), (list_file) ); \
235 #define SET_EXECDEFAULT( mask, def, undef ) { \
236 if( !((mask) & FAL_FONT_MASK_DEFINED) && !((mask) & FAL_FONT_MASK_UNDEFINED) ){ \
240 if( (mask) & FAL_FONT_MASK_DEFINED ) (def) = TRUE ; \
241 else (def) = FALSE ; \
242 if( (mask) & FAL_FONT_MASK_UNDEFINED ) (undef) = TRUE ; \
243 else (undef) = FALSE ; \
247 /*************************< end of udcopt.h >**************************/