1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00

Refactor and reimplement dtudcfonted

This commit is contained in:
chase 2018-07-27 16:44:10 -05:00 committed by Jon Trulson
parent 0f1aaa3e46
commit b491f9134f
83 changed files with 3706 additions and 7498 deletions

View file

@ -96,25 +96,17 @@ typedef struct {
} ListData;
#ifndef NO_MESSAGE_CATALOG
# ifdef __ultrix
# define _CLIENT_CAT_NAME "dtudcexch.cat"
# else /* __ultrix */
# define _CLIENT_CAT_NAME "dtudcexch"
# endif /* __ultrix */
# ifdef _NO_PROTO
extern char *_DtGetMessage();
# else /* _NO_PROTO */
# define _CLIENT_CAT_NAME "dtudcexch"
extern char *_DtGetMessage(
char *filename,
int set,
int n,
char *s );
# endif /* _NO_PROTO */
#define GETMESSAGE(set, number, string) GetMessage(set, number, string)
static char *
GetMessage(set, number, string)
int set, number;
char *string;
GetMessage(int set, int number, char *string)
{
char *tmp;
static char * point[100];

View file

@ -65,10 +65,7 @@ sigint_out()
}
int
expCheckCode( code, code_num, code_list )
unsigned int code ;
int code_num ;
int *code_list ;
expCheckCode( unsigned int code, int code_num, int *code_list )
{
int i ;
@ -80,14 +77,15 @@ int *code_list ;
}
int
ExpGpftoBDF( gpf_name, bdf_name, code_num, code_list, comment_num, comment_list, make_all )
char *gpf_name ; /* pointer to GPF file name area */
char *bdf_name ; /* pointer to BDF file name area */
int code_num ; /* number of GPF code */
int *code_list ; /* pointer to GPF code lists */
int comment_num ; /* number comments */
char **comment_list ;/* pointer to the list of comments */
int make_all ; /* convert whole GPF fomat file to BDF */
ExpGpftoBDF(
char *gpf_name, /* pointer to GPF file name area */
char *bdf_name, /* pointer to BDF file name area */
int code_num, /* number of GPF code */
int *code_list, /* pointer to GPF code lists */
int comment_num, /* number comments */
char **comment_list, /* pointer to the list of comments */
int make_all /* convert whole GPF fomat file to BDF */
)
{
struct stat statbuf ;
struct btophead r_gpf ;
@ -168,7 +166,7 @@ int make_all ; /* convert whole GPF fomat file to BDF */
w_bdf.code = r_gpf.code ;
w_bdf.ptn = r_gpf.ptn ;
if( (rtn = WritePtnToBdf( &w_bdf, buf )) ){
if( (rtn = WritePtnToBdf( &w_bdf )) ){
fprintf(stderr, "\"%s\" cannot write glyph.\n", bdf_name ) ;
fclose(w_bdf.output) ;
return rtn ;
@ -193,10 +191,10 @@ int make_all ; /* convert whole GPF fomat file to BDF */
}
static int
writeBdfHeader(head, comment_num, comment_list)
struct ptobhead *head;
int comment_num ; /* number comments */
char **comment_list ;/* pointer to the list of comments */
writeBdfHeader(struct ptobhead *head,
int comment_num, /* number comments */
char **comment_list /*pointer to the list of comments */
)
{
FILE *fp;
int fd[2];
@ -276,7 +274,7 @@ char **comment_list ;/* pointer to the list of comments */
char *ep ;
if( (ep = (char *)strchr( comment_list[i], '\n' )) != NULL )
*ep = '\0' ;
if( comment_list[i] == '\0' ) continue ;
if( !comment_list[i] ) continue ;
fprintf(head->output, "COMMENT %s\n", comment_list[i]);
}
fprintf(head->output, "COMMENT\n");
@ -327,12 +325,11 @@ char **comment_list ;/* pointer to the list of comments */
static int
readBdfToMemory(head, buf, code_num, code_list, make_all)
struct btophead *head;
char *buf;
int code_num ; /* number of GPF code */
int *code_list ; /* pointer to GPF code lists */
int make_all ; /* convert whole GPF fomat file to BDF */
readBdfToMemory(struct btophead *head, char *buf,
int code_num, /* number of GPF code */
int *code_list, /* pointer to GPF code lists */
int make_all /* convert whole GPF fomat file to BDF */
)
{
int code, mwidth, num_char, bsize, rtn;
char *ptn;

View file

@ -83,7 +83,7 @@ static char *targ_file = NULL; /* UDC_file_name */
static void
sigint_out()
sigint_out(void)
{
if (WriteGpf.out_file) {
UNLINK_TMPFILE( WriteGpf.out_file );
@ -95,10 +95,7 @@ sigint_out()
int
ImpBDFCodeList( bdf_name, code_num, code_list )
char *bdf_name ;
int *code_num ;
int **code_list ;
ImpBDFCodeList(char *bdf_name, int *code_num, int **code_list)
{
int *glyph_list ;
FILE *bdfp ;
@ -165,8 +162,7 @@ int **code_list ;
int
ImpBDFCodeListFree( code_list )
int **code_list ;
ImpBDFCodeListFree(int **code_list)
{
free( *code_list ) ;
return(0) ;
@ -175,9 +171,10 @@ int **code_list ;
int
ImpBDFCheck( bdf_name, gpf_name )
char *bdf_name ; /* BDF file name */
char *gpf_name ; /* GPF file name */
ImpBDFCheck(
char *bdf_name, /* BDF file name */
char *gpf_name /* GPF file name */
)
{
/* parameter check */
if( bdf_name == NULL || gpf_name == NULL ){
@ -190,11 +187,12 @@ char *gpf_name ; /* GPF file name */
int
ImpBDFtoGpf( bdf_name, gpf_name, bdf_codenum, bdf_codelist)
char *bdf_name ;
char *gpf_name ;
int bdf_codenum ;
int *bdf_codelist ;
ImpBDFtoGpf(
char *bdf_name,
char *gpf_name,
int bdf_codenum,
int *bdf_codelist
)
{
int rtn ;
int exit_stat;
@ -359,10 +357,11 @@ int *bdf_codelist ;
*/
static
impFileConvInit(r_udc, r_gpf, w_gpf )
struct btophead *r_udc;
struct btophead *r_gpf;
struct ptobhead *w_gpf;
impFileConvInit(
struct btophead *r_udc,
struct btophead *r_gpf,
struct ptobhead *w_gpf
)
{
int fd[2], snf_fd, permission;
char buf[BUFSIZE];
@ -386,11 +385,6 @@ struct ptobhead *w_gpf;
if ( ChkPcfFontFile( w_gpf->snf_file ) ) {
/* snf */
if ( ( snf_fd = open( w_gpf->snf_file, O_RDONLY ) ) >= 0 ) {
COMM_SNF_FILEVERSION( snf_fd, finf, buf, permission ) ;
if( permission < 0 ) {
return BDF_INVAL;
}
} else {
return BDF_OPEN_IN;
}
}
@ -477,11 +471,12 @@ struct ptobhead *w_gpf;
static
impGetGpfInf( r_gpf, w_gpf, buf, bdf_codenum )
struct btophead *r_gpf;
struct ptobhead *w_gpf;
char *buf;
int bdf_codenum ;
impGetGpfInf(
struct btophead *r_gpf,
struct ptobhead *w_gpf,
char *buf,
int bdf_codenum
)
{
int nchar, rtn;
@ -505,10 +500,11 @@ int bdf_codenum ;
static
impReadBdfHeaderAndPut(r_gpf, w_gpf, buf)
struct btophead *r_gpf;
struct ptobhead *w_gpf;
char *buf;
impReadBdfHeaderAndPut(
struct btophead *r_gpf,
struct ptobhead *w_gpf,
char *buf
)
{
char *p;
unsigned int getstat = 0;
@ -555,12 +551,13 @@ char *buf;
static
impMergePtn(r_udc, r_gpf, buf, bdf_codenum, bdf_codelist )
struct btophead *r_udc;
struct btophead *r_gpf;
char *buf;
int bdf_codenum ;
int *bdf_codelist ;
impMergePtn(
struct btophead *r_udc,
struct btophead *r_gpf,
char *buf,
int bdf_codenum,
int *bdf_codelist
)
{
int code, rtn, msize, i, j;
char *ptn;
@ -615,11 +612,7 @@ int *bdf_codelist ;
}
static
impModifyPtn( r_udc, r_gpf, buf, ix )
struct btophead *r_udc;
struct btophead *r_gpf;
char *buf;
int ix;
impModifyPtn(struct btophead *r_udc, struct btophead *r_gpf, char *buf, int ix)
{
int mwidth, msize, rtn;
@ -644,12 +637,13 @@ int ix;
}
static
impInsertPtn( r_udc, r_gpf, buf, code, ix )
struct btophead *r_udc;
struct btophead *r_gpf;
char *buf;
int code;
int ix;
impInsertPtn(
struct btophead *r_udc,
struct btophead *r_gpf,
char *buf,
int code,
int ix
)
{
int mwidth, msize, rtn, i;
@ -688,9 +682,7 @@ int ix;
}
static
impWriteSnf( r_gpf, w_gpf )
struct btophead *r_gpf;
struct ptobhead *w_gpf;
impWriteSnf(struct btophead *r_gpf, struct ptobhead *w_gpf)
{
w_gpf->zoomf = 0;
w_gpf->num_chars = r_gpf->num_chars;

View file

@ -134,8 +134,7 @@ static Widget *button4=NULL;
*/
void
xlfdPopupDialog(w)
Widget w;
xlfdPopupDialog(Widget w)
{
if (! XtIsManaged(w))
XtManageChild(w);
@ -144,8 +143,7 @@ Widget w;
}
void
ForcePopdownDialog(w)
Widget w;
ForcePopdownDialog(Widget w)
{
if (XtIsManaged(w)){
XtUnmanageChild(w);
@ -367,10 +365,7 @@ char_set(char *str) /* dtex */
}
static char *
spc(str, ch, count)
char * str;
char ch;
int count;
spc(char *str, char ch, int count)
{
char *p;
p = str + strlen(str);
@ -506,10 +501,8 @@ static void OpenWindowCB() /* dtex change */
/*ARGSUSED*/
static void
OpenCancelCB( widget, clientData, callData ) /* dtex change */
Widget widget;
caddr_t clientData;
caddr_t callData;
OpenCancelCB( Widget widget, caddr_t clientData, caddr_t callData )
/* dtex change */
{
/* extern void ForcePopdownDialog();
if ( !editPtnW ){
@ -523,8 +516,7 @@ caddr_t callData;
* create selection window view
*/
void
PopupSelectXLFD( top )
Widget top ;
PopupSelectXLFD( Widget top )
{
if( xlfdDialog == NULL ){
@ -584,8 +576,7 @@ create_xlfd()
}
static void
udc_call(w)
Widget w;
udc_call(Widget w)
{
XmString label;
char *moji;
@ -621,8 +612,7 @@ Widget w;
}
static void
sty_call(w)
Widget w;
sty_call(Widget w)
{
XmString label;
char *moji;
@ -651,8 +641,7 @@ Widget w;
}
static void
wls_call(w)
Widget w;
wls_call(Widget w)
{
XmString label;
char *moji;
@ -678,8 +667,7 @@ Widget w;
}
static void
hls_call(w)
Widget w;
hls_call(Widget w)
{
XmString label;
char *moji;
@ -899,9 +887,7 @@ button_set4()
}
void
data_sort(data, count)
int *data;
int count;
data_sort(int *data, int count)
{
int *p1, *p2, tmp, i;
@ -1071,8 +1057,7 @@ font_init() /* dtex change */
static Widget
CreateSelectXLFD( top ) /* dtex change */
Widget top ;
CreateSelectXLFD( Widget top ) /* dtex change */
{
int n;

View file

@ -168,7 +168,7 @@ void setallcode(ListData *ld)
}
}
FalFontID openfont()
FalFontID openfont(void)
{
int protect_key = FAL_FONT_DISPLAY;
int codeset;
@ -311,8 +311,7 @@ void getexistcode(ListData *ld)
*/
void
xlfdPopupDialog(w)
Widget w;
xlfdPopupDialog(Widget w)
{
if (! XtIsManaged(w))
XtManageChild(w);
@ -321,8 +320,7 @@ Widget w;
}
void
xlfdPopdownDialog(w)
Widget w;
xlfdPopdownDialog(Widget w)
{
if (XtIsManaged(w)){
XtUnmanageChild(w);
@ -334,10 +332,7 @@ Widget w;
* get pixel width
*/
Dimension
GetPixelWidth( w, columns, width )
Widget w ;
int columns ;
Dimension *width ;
GetPixelWidth(Widget w, int columns, Dimension *width)
{
Arg args[1] ;
XtSetArg( args[0], XmNwidth, width ) ;
@ -350,9 +345,7 @@ Dimension *width ;
* callbacks *
***************************************************************/
void quit(w, client_data, call_data)
Widget w;
caddr_t *client_data, *call_data;
void quit(Widget w, caddr_t *client_data, caddr_t *call_data)
{
char *msg;
int ans;
@ -374,9 +367,7 @@ caddr_t *client_data, *call_data;
* Unmanage widgets
*/
int
ClearText( num, slctBText )
int num ;
Widget *slctBText ;
ClearText(int num, Widget *slctBText)
{
int i ;
/* toggle button unset */
@ -389,9 +380,7 @@ Widget *slctBText ;
}
int
ClearButtons( num, slctButton )
int num ;
Widget *slctButton ;
ClearButtons(int num, Widget *slctButton)
{
int i, cnt ;
Boolean isSet ;
@ -418,13 +407,13 @@ Widget *slctButton ;
* get text field position
*/
int
GetPositionOfLists( num, xlfdDialog, listPop, slctBText, x, y )
int num ;
Widget xlfdDialog ;
Widget *listPop ;
Widget *slctBText ;
Position *x ;
Position *y ;
GetPositionOfLists(
int num,
Widget xlfdDialog,
Widget *listPop,
Widget *slctBText,
Position *x,
Position *y)
{
int i ;
Position tbx, tby, tx, ty ;
@ -462,10 +451,7 @@ Position *y ;
void listEH(w, num, event)
Widget w ;
int num ;
XButtonEvent *event;
void listEH(Widget w, int num, XButtonEvent *event)
{
int i, j, ITEM_COUNT;
Arg args[10];
@ -536,10 +522,7 @@ XButtonEvent *event;
void listPrintCB(w, num, call_data)
Widget w;
int num ;
XmListCallbackStruct *call_data;
void listPrintCB(Widget w, int num, XmListCallbackStruct *call_data)
{
char *str ;
@ -568,9 +551,7 @@ XmListCallbackStruct *call_data;
void OpenWindow(w, client_data, call_data)
Widget w;
caddr_t client_data, *call_data;
void OpenWindow(Widget w, caddr_t client_data, caddr_t *call_data)
{
int r ;
int i ;
@ -680,11 +661,11 @@ caddr_t client_data, *call_data;
int
CreateXLFDLabelAndText( owner, slctBLabel, slctBText, slctButton )
Widget owner ;
Widget *slctBLabel ;
Widget *slctBText ;
Widget *slctButton ;
CreateXLFDLabelAndText(
Widget owner,
Widget *slctBLabel,
Widget *slctBText,
Widget *slctButton)
{
Widget _slctBLabel ;
@ -769,15 +750,14 @@ Widget *slctButton ;
int
CreateOtherLabelAndText( num, owner, baseForm,
slctBLabel, topW, slctBText, slctButton )
int num ;
Widget owner ;
Widget baseForm ;
Widget *slctBLabel ;
Widget topW ;
Widget *slctBText ;
Widget *slctButton ;
CreateOtherLabelAndText(
int num,
Widget owner,
Widget baseForm,
Widget *slctBLabel,
Widget topW,
Widget *slctBText,
Widget *slctButton)
{
Widget _slctBLabel ;
@ -875,11 +855,7 @@ Widget *slctButton ;
Widget
xlfdCreateScrolledList ( owner, name, args, n )
Widget owner ;
char *name ;
Arg *args ;
int n ;
xlfdCreateScrolledList (Widget owner, char *name, Arg *args, int n)
{
Widget listW ;
@ -901,8 +877,7 @@ int n ;
* create selection window view
*/
void
PopupSelectXLFD( top )
Widget top ;
PopupSelectXLFD(Widget top)
{
int n, i, j;

View file

@ -132,10 +132,7 @@ GetXLFDInfomations()
int
GetItemsToDisplay( num, itemcnt, xms_list )
int num ;
int *itemcnt ;
XmString **xms_list ;
GetItemsToDisplay( int num, int *itemcnt, XmString **xms_list )
{
int i, j, cnt ;
char *sp ,string[256], buf[256] ;
@ -252,9 +249,7 @@ XmString **xms_list ;
static char*
skipSpace( str, skipcnt )
char *str ;
int skipcnt ;
skipSpace( char *str, int skipcnt )
{
int i, spacecnt ;
char *sp ;
@ -276,9 +271,7 @@ int skipcnt ;
int
SetKeyBuff( num, str )
int num ;
char *str ;
SetKeyBuff( int num, char *str )
{
int i, j ;
int cdset, start, end ;

View file

@ -9,10 +9,9 @@
UDC_INC_PATH1 = -I./
UDC_INC_PATH2 = -I./include
UDC_INC_PATH3 = -I./libfal
UDC_INC_PATH4 = -I./libfal/include
UDC_INC_PATH5 = -I$(DTSVCSRC)/DtXpm
UDC_INC_PATH6 = -I$(TOP)/../x11/xc
UDC_INC_PATH4 = -I$(DTSVCSRC)/DtXpm
UDC_INC_PATH5 = -I$(TOP)/../x11/xc
#ifdef X11ProjectRoot
OPT2 = -DFONTC='"'$(XPROJECTROOT)/bin/bdftopcf'"'
@ -22,12 +21,11 @@ UDC_INC_PATH6 = -I$(TOP)/../x11/xc
DEFINES = $(OPT2)
INCLUDES = $(UDC_INC_PATH1)\
INCLUDES = $(UDC_INC_PATH1)\
$(UDC_INC_PATH2)\
$(UDC_INC_PATH3)\
$(UDC_INC_PATH4)\
$(UDC_INC_PATH5)\
$(UDC_INC_PATH6)
$(UDC_INC_PATH5)
DEPLIBS = $(DEPDTSVCLIB) $(DEPTTLIB) $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXLIB)
LOCAL_LIBRARIES = $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XLIB) ./libfuty/liboakfuty.a ./libfal/libfal.a
@ -50,7 +48,7 @@ SYS_LIBRARIES = DtClientSysLibs
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
SUBDIRS = \
libfal \
libfal \
libfuty \
dtaddcpf \
dtbdftocpf \

View file

@ -68,7 +68,7 @@ extern int CodePoint;
extern Resource resource;
static void
OpenFont()
OpenFont(void)
{
int mask;
FalFontData font_data;
@ -90,7 +90,7 @@ OpenFont()
}
static void
CloseFont()
CloseFont(void)
{
if (fid != font_id) {
FalCloseFont(fid);
@ -99,9 +99,7 @@ CloseFont()
}
static void
DrawCode(w, low_code)
Widget w;
int low_code;
DrawCode(Widget w, int low_code)
{
int hi_code;
char *f = NULL;
@ -193,20 +191,14 @@ SetPixmap(start_code)
}
static void
Code1Call(w, start_code, data)
Widget w;
int start_code;
XmListCallbackStruct *data;
Code1Call(Widget w, int start_code, XmListCallbackStruct *data)
{
code1 = start_code + data->item_position -1;
SetPixmap(code1);
}
static void
Code2Call(w, code2, data)
Widget w;
int code2;
XmPushButtonCallbackStruct *data;
Code2Call(Widget w, int code2, XmPushButtonCallbackStruct *data)
{
char asc[16];
sprintf(asc, "%2.2X%2.2X", code1, code2);
@ -215,8 +207,7 @@ XmPushButtonCallbackStruct *data;
}
static void
PrevPage(w, scroll)
Widget w, scroll;
PrevPage(Widget w, Widget scroll)
{
int *list;
int num;
@ -229,8 +220,7 @@ Widget w, scroll;
}
static void
NextPage(w, scroll)
Widget w, scroll;
NextPage(Widget w, Widget scroll)
{
int *list;
int num, item;
@ -244,13 +234,13 @@ Widget w, scroll;
}
static void
Cancel()
Cancel(void)
{
XtUnmapWidget(XtParent(code_w));
}
static void
Apply()
Apply(void)
{
char *asc;
XtVaGetValues(text, XmNvalue, &asc, NULL);
@ -260,10 +250,7 @@ Apply()
}
static void
CreateItem(item, item_count, start_code)
XmString *item;
int *item_count;
int *start_code;
CreateItem(XmString *item, int *item_count, int *start_code)
{
int count;
int start, end;
@ -307,8 +294,7 @@ int *start_code;
}
static Widget
CreateCodeWindow(w)
Widget w;
CreateCodeWindow(Widget w)
{
Widget top, base1, base2, base3, base4;
Widget frame, scroll, label, sep, form;
@ -457,10 +443,7 @@ Widget w;
}
void
CodeWindow(widget, font_name, load_font)
Widget widget;
char * font_name;
Boolean load_font;
CodeWindow(Widget widget, char *font_name, Boolean load_font)
{
static Boolean old_load_font;
extern int CodePoint;

View file

@ -31,6 +31,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/wait.h>
@ -42,9 +43,9 @@
#include "falfont.h"
#include "ufontrsrc.h"
static void writePtn();
static void sig_receive();
char *get_cmd_path() ;
static void writePtn(char *ptn, int width, int height, FILE *fp);
static void sig_receive(void);
char *get_cmd_path(char *path, char *cmd) ;
extern Resource resource;
@ -61,9 +62,9 @@ typedef struct { /* area to manage character patterns */
int nptn; /* number of characters in editting */
int nmaxptn; /* maximum number of characters in editting */
int ptnsize; /* size per byte of single pattern */
UINT ptnmemsize; /* size of memory of whole patterns */
USHORT *ntoc; /* character list / relative code */
USHORT *ctop; /* relative code / bitmap area */
unsigned int ptnmemsize; /* size of memory of whole patterns */
unsigned short *ntoc; /* character list / relative code */
unsigned short *ctop; /* relative code / bitmap area */
char *ptn; /* pointer to the bimap area */
int cptnnum; /* current pattern number */
} PATTERN_MNG;
@ -86,7 +87,7 @@ char AreaStr[160];
FalFontID font_id;
static char *
get_locale()
get_locale(void)
{
char *loc;
@ -104,8 +105,7 @@ get_locale()
*/
int
ptnSqToNo( num )
int num; /* sequential number */
ptnSqToNo( int num /*sequential number */)
{
if( (pm.flag == 0) || (num >= pm.nptn) )
return( -1 );
@ -123,8 +123,7 @@ int num; /* sequential number */
*/
int
ptnNoToSq( ncode )
int ncode; /* relative code */
ptnNoToSq( int ncode /* relative code */)
{
int sq;
@ -149,8 +148,7 @@ int ncode; /* relative code */
*/
int
codeToNo( code )
int code; /* character code */
codeToNo( int code /* character code */)
{
return( code - begin_code);
}
@ -165,8 +163,7 @@ int code; /* character code */
*/
int
noToCode( sno )
int sno; /* relative code */
noToCode( int sno /* relative code */)
{
return( sno + begin_code);
}
@ -179,8 +176,7 @@ int sno; /* relative code */
*/
int
codeCheck( code )
int code;
codeCheck( int code )
{
if (code < begin_code || code > last_code) {
return( -1 );
@ -196,11 +192,12 @@ int code;
*/
static int
ptnOpen(n, maxc, width, height)
int n; /* initial number of charcters */
int maxc;
int width; /* pattern width */
int height; /* pattern height */
ptnOpen(
int n, /* initial number of charcters */
int maxc,
int width, /* pattern width */
int height /* pattern height */
)
{
int i;
int fpsize;
@ -218,12 +215,12 @@ int height; /* pattern height */
pm.nmaxptn = n + GUADDPTNN;
pm.ptnsize = height * ((width+7)/8);
fpsize = pm.ptnsize + 1;
pm.ptnmemsize = (UINT) ( fpsize * pm.nmaxptn ) ;
pm.ptnmemsize = (unsigned int) ( fpsize * pm.nmaxptn ) ;
if(( pm.ntoc = (USHORT *)calloc(maxc, sizeof(USHORT)) ) == NULL) {
if(( pm.ntoc = (unsigned short *)calloc(maxc, sizeof(unsigned short)) ) == NULL) {
return( -1 );
}
if(( pm.ctop = (USHORT *)calloc(maxc, sizeof(USHORT)) ) == NULL ) {
if(( pm.ctop = (unsigned short *)calloc(maxc, sizeof(unsigned short)) ) == NULL ) {
free( pm.ntoc );
return( -1 );
}
@ -257,7 +254,7 @@ int height; /* pattern height */
*/
int
ptnClose()
ptnClose(void)
{
if( pm.flag == 0 ) {
return( -1 );
@ -282,18 +279,18 @@ ptnClose()
*/
int
ptnAdd( code, ptn )
int code; /* code to be add */
char *ptn; /* pointer to the pattern */
ptnAdd(
int code, /* code to be add */
char *ptn) /* pointer to the pattern */
{
int fpsize;
int ncode;
USHORT pno;
unsigned short pno;
char *pf;
char *pp;
int i;
char *re_ptn;
UINT re_ptnmemsize;
unsigned int re_ptnmemsize;
int cpn;
if( pm.flag == 0 )
@ -339,7 +336,7 @@ char *ptn; /* pointer to the pattern */
}
pm.cptnnum = cpn;
pm.ctop[ncode] = (USHORT) cpn;
pm.ctop[ncode] = (unsigned short) cpn;
pf = pm.ptn + fpsize*cpn;
pp = pf + 1;
pf[0] = 1;
@ -352,7 +349,7 @@ char *ptn; /* pointer to the pattern */
}
pm.ntoc[i+1] = pm.ntoc[i];
}
pm.ntoc[i+1] = (USHORT) ncode;
pm.ntoc[i+1] = (unsigned short) ncode;
pm.nptn += 1;
return( 1 );
@ -366,13 +363,11 @@ char *ptn; /* pointer to the pattern */
*/
int
ptnGet( code, ptn )
int code;
char *ptn;
ptnGet( int code, char *ptn )
{
int ncode;
int fpsize;
USHORT pno;
unsigned short pno;
char *pf;
char *pp;
int i;
@ -404,8 +399,7 @@ char *ptn;
*/
int
ptnSense( code )
int code;
ptnSense( int code )
{
if( (pm.flag == 0) || (codeCheck(code) == -1) )
return( -1 );
@ -425,12 +419,11 @@ int code;
*/
int
ptnDel( code )
int code;
ptnDel( int code )
{
int ncode;
int fpsize;
USHORT pno;
unsigned short pno;
char *pf;
int i;
@ -468,10 +461,10 @@ int code;
*/
int
ptnGetInfo( n, width, height )
int *n; /* the number of characters in editting */
int *width; /* pattern width */
int *height; /* pattern height */
ptnGetInfo(
int *n, /* the number of characters in editting */
int *width, /* pattern width */
int *height) /* pattern height */
{
if( pm.flag == 0 )
return( -1 );
@ -500,9 +493,9 @@ struct { /* infomation of character pattern */
*/
static void
bitSetInfo( width, height)
int width; /* pattern width */
int height; /* pattern height */
bitSetInfo(
int width, /* pattern width */
int height) /* pattern height */
{
bitInfo.width = width;
bitInfo.height = height;
@ -517,10 +510,7 @@ int height; /* pattern height */
*/
void
bitSet( ptn, cx, cy )
char *ptn;
int cx;
int cy;
bitSet( char *ptn, int cx, int cy )
{
if((cx < 0) || (bitInfo.width <= cx) || (cy < 0) || (bitInfo.height <= cy))
return;
@ -533,10 +523,7 @@ int cy;
*/
void
bitReset( ptn, cx, cy )
char *ptn;
int cx;
int cy;
bitReset( char *ptn, int cx, int cy )
{
if((cx < 0) || (bitInfo.width <= cx) || (cy < 0) || (bitInfo.height <= cy))
return;
@ -549,10 +536,7 @@ int cy;
*/
int
bitRead( ptn, cx, cy )
char *ptn;
int cx;
int cy;
bitRead( char *ptn, int cx, int cy )
{
if((cx < 0) || (bitInfo.width <= cx) || (cy < 0) || (bitInfo.height <= cy))
return( 0 );
@ -568,8 +552,7 @@ int cy;
*/
void
bitPtnClear( ptn )
char *ptn;
bitPtnClear( char *ptn )
{
int i;
@ -583,9 +566,9 @@ char *ptn;
*/
void
bitPtnCopy( d_ptn, s_ptn )
char *d_ptn; /* pointer of the destination file */
char *s_ptn; /* pointer of the source file */
bitPtnCopy(
char *d_ptn, /* pointer of the destination file */
char *s_ptn) /* pointer of the source file */
{
int i;
@ -608,13 +591,13 @@ char *s_ptn; /* pointer of the source file */
*/
int
bitDrawLine( ptn, x1, y1, x2, y2 ,mode )
char *ptn; /* pointer of the bit map file */
int x1;
int y1;
int x2;
int y2;
int mode; /* 0: erase 1: draw */
bitDrawLine(
char *ptn, /* pointer of the bit map file */
int x1,
int y1,
int x2,
int y2,
int mode) /* 0: erase 1: draw */
{
float dx, dy;
float x, y;
@ -655,13 +638,13 @@ int mode; /* 0: erase 1: draw */
*/
int
bitDrawCircle( ptn, x1, y1, x2, y2, mode )
char *ptn;
int x1;
int y1;
int x2;
int y2;
int mode;
bitDrawCircle(
char *ptn,
int x1,
int y1,
int x2,
int y2,
int mode)
{
int dx, dy;
int i,x;
@ -708,13 +691,13 @@ int mode;
*/
int
bitDrawRect( ptn, x, y, width, height, mode )
char *ptn;
int x;
int y;
int width;
int height;
int mode;
bitDrawRect(
char *ptn,
int x,
int y,
int width,
int height,
int mode)
{
int i;
@ -757,12 +740,12 @@ int mode;
*/
int
bitDrawCls( ptn, x, y, width, height )
char *ptn;
int x;
int y;
int width;
int height;
bitDrawCls(
char *ptn,
int x,
int y,
int width,
int height)
{
int i, j;
@ -789,12 +772,12 @@ int height;
*/
int
bitDrawSet( ptn, x, y, width, height )
char *ptn;
int x;
int y;
int width;
int height;
bitDrawSet(
char *ptn,
int x,
int y,
int width,
int height)
{
int i, j;
@ -820,12 +803,12 @@ int height;
*/
int
bitDrawRev( ptn, x, y, width, height )
char *ptn;
int x;
int y;
int width;
int height;
bitDrawRev(
char *ptn,
int x,
int y,
int width,
int height)
{
int i, j;
@ -859,13 +842,13 @@ static int cut_buffer_h=0;
*/
int
bitDrawCpy(ptn, sx, sy, width, height, cut_flag)
char *ptn;
int sx;
int sy;
int width;
int height;
int cut_flag;
bitDrawCpy(
char *ptn,
int sx,
int sy,
int width,
int height,
int cut_flag)
{
int i, j;
@ -890,10 +873,7 @@ int cut_flag;
}
int
bitDrawPaste(ptn, dx, dy)
char *ptn;
int dx;
int dy;
bitDrawPaste(char *ptn, int dx, int dy)
{
int i, j;
int width, height;
@ -927,12 +907,7 @@ int dy;
*/
int
bitDrawRoll( ptn, x, y, width, height )
char *ptn;
int x;
int y;
int width;
int height;
bitDrawRoll(char *ptn, int x, int y, int width, int height)
{
char *point;
int xx, yy;
@ -970,12 +945,7 @@ int height;
*/
int
bitDrawSymV( ptn, x, y, width, height )
char *ptn;
int x;
int y;
int width;
int height;
bitDrawSymV( char *ptn, int x, int y, int width, int height )
{
int k, j;
int d1, d2;
@ -1009,12 +979,7 @@ int height;
*/
int
bitDrawSymH( ptn, x, y, width, height )
char *ptn;
int x;
int y;
int width;
int height;
bitDrawSymH( char *ptn, int x, int y, int width, int height )
{
int k, j;
int d1, d2;
@ -1070,11 +1035,7 @@ char_set(char *str)
* -2 : file is locked
*/
int
readSNF(fdata, width, height, err)
FalFontData **fdata;
int *width;
int *height;
char *err;
readSNF(FalFontData **fdata, int *width, int *height, char *err)
{
FalFontinfo finfo;
int start, end;
@ -1300,22 +1261,15 @@ char *err;
}
static void
bicopy(s1, s2, size)
char *s1, *s2;
int size;
bicopy(char *s1, char *s2, int size)
{
register int i;
int i;
for(i=size; i; i--, s1++, s2++)
*s2 = *s1;
}
int
copySNF(start, end, ptn, num, err)
int start;
int end;
char ***ptn;
int *num;
char *err;
copySNF(int start, int end, char ***ptn, int *num, char *err)
{
FalFontID fid;
int mask;
@ -1395,9 +1349,7 @@ char *err;
}
void
freeSNF(addr, count)
char **addr;
int count;
freeSNF(char **addr, int count)
{
char **p;
for (p=addr; count; count--, p++)
@ -1417,9 +1369,9 @@ static int sig_flg = 0; /* flag for signal */
*/
int
writeSNF( restart, err )
int restart; /* ON:continue OFF:initial */
int *err; /* errors : */
writeSNF(
int restart, /* ON:continue OFF:initial */
int *err) /* errors : */
{
static int pfstdi[2];
static FILE *fstdi;
@ -1481,19 +1433,22 @@ int *err; /* errors : */
case 0:
close( 0 ); /** 0 ... stdin **/
dup( pfstdi[0] );
close( pfstdi[0] );
close( pfstdi[1] );
argv[0] = resource.l_ptog_cmd;
argv[1] = "-codeset";
argv[2] = code_set;
argv[3] = "-xlfd";
argv[4] = fullFontData.xlfdname;
argv[5] = "-init";
argv[6] = "-f";
argv[7] = NULL;
execv (command, argv );
exit( 103 );
if( dup( pfstdi[0] ) == -1){
return -1;
} else {
close( pfstdi[0] );
close( pfstdi[1] );
argv[0] = resource.l_ptog_cmd;
argv[1] = "-codeset";
argv[2] = code_set;
argv[3] = "-xlfd";
argv[4] = fullFontData.xlfdname;
argv[5] = "-init";
argv[6] = "-f";
argv[7] = NULL;
execv (command, argv );
exit( 103 );
}
}
@ -1567,7 +1522,7 @@ int *err; /* errors : */
*/
static void
sig_receive()
sig_receive(void)
{
sig_flg = 1;
return;
@ -1579,11 +1534,7 @@ sig_receive()
*/
static void
writePtn(ptn, width, height, fp)
char *ptn;
int width;
int height;
FILE *fp;
writePtn(char *ptn, int width, int height, FILE *fp)
{
int i, j, k;
int nbyte;

View file

@ -47,10 +47,10 @@ extern Widget cpyDialog;
** ==================================================================
**/
void PopdownCpyPtn();
void DoCpyProc();
void CpyPtnCB();
void CpyCB();
void PopdownCpyPtn(void);
void DoCpyProc(void);
void CpyPtnCB(void);
void CpyCB(Widget w, XtPointer cdata);
/* static */ TextField SrcTf;
/* static */ TextField DestTf;
@ -64,7 +64,7 @@ void CpyCB();
**/
void
InitCpyPtn()
InitCpyPtn(void)
{
/* initialize font infomation */
}
@ -77,7 +77,7 @@ InitCpyPtn()
**/
void
CpyPtnCB()
CpyPtnCB(void)
{
extern void CpyPtnXLFD();
CpyPtnXLFD();
@ -90,7 +90,7 @@ CpyPtnCB()
**/
void
PopdownCpyPtn()
PopdownCpyPtn(void)
{
ForcePopdownDialog(cpyDialog);
}
@ -102,7 +102,7 @@ PopdownCpyPtn()
**/
String
CpySrcCodeTfValue()
CpySrcCodeTfValue(void)
{
return(GetTextFieldValue(&SrcTf));
}
@ -114,7 +114,7 @@ CpySrcCodeTfValue()
**/
String
CpyDestCodeTfValue()
CpyDestCodeTfValue(void)
{
return(GetTextFieldValue(&DestTf));
}
@ -126,8 +126,7 @@ CpyDestCodeTfValue()
**/
void
PopupCpyNotice( message )
String message;
PopupCpyNotice( String message )
{
char bmsg[512] = "";
@ -152,9 +151,7 @@ String message;
/*ARGSUSED*/
void
CpyCB(w, cdata)
Widget w;
XtPointer cdata;
CpyCB(Widget w, XtPointer cdata)
{
extern Boolean BeforeCpyCheck();
if (BeforeCpyCheck(cdata)){
@ -176,7 +173,7 @@ XtPointer cdata;
**/
static void
PopdownMngPtn()
PopdownMngPtn(void)
{
PopdownDialog(mngPtnW);
}
@ -187,7 +184,7 @@ PopdownMngPtn()
**/
static void
AddCB()
AddCB(void)
{
int s_code, e_code;
extern Boolean BeforeMngCheck();
@ -205,7 +202,7 @@ AddCB()
**/
static void
DelCB()
DelCB(void)
{
int s_code, e_code;
extern void DoDelProc();
@ -231,7 +228,7 @@ static TextField MngCodeTf;
**/
void
MngPtnCB()
MngPtnCB(void)
{
if (! mngPtnW){
Widget rowcol;
@ -254,12 +251,13 @@ MngPtnCB()
/**
** contents : get the character strings of code for add or delete from the input field
** contents : get the character strings of code for add or delete from the
** input field
** --------------------------------------------
**/
String
MngCodeTfValue()
MngCodeTfValue(void)
{
return(GetTextFieldValue(&MngCodeTf));
}
@ -286,8 +284,7 @@ static Widget dnStaT_code[D_MAX], dnBulB_disp[D_MAX], dnPopW;
**/
void
PopupDelNotice( owner )
Widget owner;
PopupDelNotice( Widget owner )
{
int i;
Widget delNoticeW = NULL;
@ -315,7 +312,7 @@ Widget owner;
**/
static void
dstrypaneDelNotice()
dstrypaneDelNotice(void)
{
int i;
@ -331,7 +328,7 @@ dstrypaneDelNotice()
**/
static void
DelOkCB()
DelOkCB(void)
{
CBdnOblB_del();
PopdownMngPtn();
@ -344,8 +341,7 @@ DelOkCB()
**/
static void
delScProc( value )
int value;
delScProc( int value )
{
int i;
extern int RelToAbsSq();
@ -364,8 +360,7 @@ int value;
**/
static Widget
CreateDelNotice(owner)
Widget owner;
CreateDelNotice(Widget owner)
{
Widget form, listBase, itemform[D_MAX];
char buf[64];
@ -441,7 +436,7 @@ Widget owner;
**/
static void
CBdnOblB_del()
CBdnOblB_del(void)
{
int code; /* code number for check */
int ncode; /* sequential number in the codeset system area */
@ -515,8 +510,7 @@ CBdnOblB_del()
**/
static void
drawDelPtn( i )
int i; /* window number */
drawDelPtn( int i /* window number */)
{
if ( RelToAbsSq( dn.sq_top, i) <= dn.sq_end) {
ptnGet( noToCode(ptnSqToNo(RelToAbsSq( dn.sq_top, i))),
@ -536,8 +530,7 @@ int i; /* window number */
**/
static void
drawDelCode( i )
int i; /* window number */
drawDelCode( int i /* window number */)
{
char str[20];
@ -557,9 +550,7 @@ int i; /* window number */
/*ARGSUSED*/
static void
EHdnBulB_disp( widget, i )
Widget widget;
int i; /* widget that have some ivent */
EHdnBulB_disp( Widget widget, int i /* widget that have some ivent */ )
{
drawDelPtn( i );
}
@ -578,10 +569,7 @@ int i; /* widget that have some ivent */
**/
static void
DispErrorMessage( owner, title, msg )
Widget owner;
String title;
String msg;
DispErrorMessage( Widget owner, String title, String msg )
{
static NoticeButton buttons[] = {
NBTNARGS( NULL, NULL, NULL, True, False ),
@ -599,8 +587,7 @@ String msg;
**/
void
DispMngErrorMessage( msg )
String msg;
DispMngErrorMessage( String msg )
{
DispErrorMessage( mngPtnW, resource.l_error_title, msg );
}
@ -612,8 +599,7 @@ String msg;
**/
void
DispCpyErrorMessage( msg )
String msg;
DispCpyErrorMessage( String msg )
{
DispErrorMessage( cpyPtnW, resource.l_error_title, msg );
}

View file

@ -62,20 +62,29 @@ extern XtPointer _XmStringUngenerate (XmString string,
#endif
#include "pixmaps/arrow.pm"
static Widget CreateCopyXLFD() ;
static void CpyXLFDCB() ;
static Widget CreateCopyXLFD(Widget Top);
static void CpyXLFDCB(Widget w, caddr_t client_data, caddr_t *call_data);
extern int CreateOtherLabelAndText();
extern Widget xlfdCreateScrolledList();
extern int GetItemsToDisplay();
extern int CreateOtherLabelAndText(int num,
Widget owner,
Widget baseForm,
Widget *slctBLabel,
Widget topW,
Widget *slctBText,
Widget *slctButton);
extern Widget xlfdCreateScrolledList(Widget owner,
char *name,
Arg *args,
int n);
extern int GetItemsToDisplay(int num, int *itemcnt, XmString **xms_list);
extern void xlfdPopupDialog();
extern void xlfdPopupDialog(Widget w);
extern void InitCpyPtn() ;
extern void _unmap();
extern void CpyCB() ;
extern void PopdownCpyPtn() ;
extern void AddPopupProc() ;
extern void InitCpyPtn(void);
extern void _unmap(void);
extern void CpyCB(Widget w, XtPointer cdata);
extern void PopdownCpyPtn(void);
extern void AddPopupProc(Widget w, void(*popupcb)());
extern FalFontData fullFontData;
@ -139,9 +148,7 @@ static Widget focus_widget=NULL;
/*ARGSUSED*/
static void
CpyXLFDCB(w, client_data, call_data)
Widget w;
caddr_t client_data, *call_data;
CpyXLFDCB(Widget w, caddr_t client_data, caddr_t *call_data)
{
char *str;
XmStringTable st;
@ -162,7 +169,7 @@ caddr_t client_data, *call_data;
void
CpyPtnXLFD()
CpyPtnXLFD(void)
{
if( cpyDialog == NULL )
{
@ -199,7 +206,7 @@ CpyPtnXLFD()
static void
create_xlfd()
create_xlfd(void)
{
int mask = FAL_FONT_MASK_DEFINED | FAL_FONT_MASK_UNDEFINED;
FalFontData key;
@ -239,8 +246,7 @@ create_xlfd()
}
static void
udc_call(w)
Widget w;
udc_call(Widget w)
{
XmString label;
char *moji;
@ -269,8 +275,7 @@ Widget w;
}
static void
sty_call(w)
Widget w;
sty_call(Widget w)
{
XmString label;
char *moji;
@ -294,8 +299,7 @@ Widget w;
}
static void
wls_call(w)
Widget w;
wls_call(Widget w)
{
XmString label;
char *moji;
@ -315,8 +319,7 @@ Widget w;
}
static void
hls_call(w)
Widget w;
hls_call(Widget w)
{
XmString label;
char *moji;
@ -336,7 +339,7 @@ Widget w;
}
static void
button_set1()
button_set1(void)
{
int i, j;
int mask = FAL_FONT_MASK_DEFINED | FAL_FONT_MASK_UNDEFINED;
@ -385,7 +388,7 @@ button_set1()
}
static void
button_set2()
button_set2(void)
{
int i, j;
int mask = FAL_FONT_MASK_DEFINED | FAL_FONT_MASK_UNDEFINED;
@ -434,7 +437,7 @@ button_set2()
}
static void
button_set3()
button_set3(void)
{
int i, j;
int mask = FAL_FONT_MASK_DEFINED | FAL_FONT_MASK_UNDEFINED;
@ -483,7 +486,7 @@ button_set3()
}
static void
button_set4()
button_set4(void)
{
int i, j;
int mask = FAL_FONT_MASK_DEFINED | FAL_FONT_MASK_UNDEFINED;
@ -533,7 +536,7 @@ button_set4()
static void
font_init()
font_init(void)
{
FalFontDataList *fontlist;
FalFontData *f;
@ -675,9 +678,7 @@ font_init()
/*ARGSUSED*/
static void
arrow_change(w, wid)
Widget w;
Widget wid;
arrow_change(Widget w, Widget wid)
{
if (XtIsSensitive(wid)) {
XtSetSensitive(wid, False);
@ -687,14 +688,13 @@ Widget wid;
}
static void
focus(w)
Widget w;
focus(Widget w)
{
focus_widget = w;
}
static void
code_input()
code_input(void)
{
char *str;
XmStringTable st;
@ -708,15 +708,14 @@ code_input()
}
static void
code_input2()
code_input2(void)
{
extern void CodeWindow();
CodeWindow(codeText[2], fullFontData.xlfdname, False);
}
static Widget
CreateCopyXLFD( top )
Widget top ;
CreateCopyXLFD( Widget top )
{
int n;

View file

@ -52,7 +52,7 @@
#include <X11/Xmd.h>
#include <X11/Xproto.h>
#include "fontstruct.h"
#include <X11/fonts/fontstruct.h>
#include "FaLib.h"
#include "snfstruct.h"
@ -61,20 +61,65 @@
#include <errno.h>
static int rw_init() ;
static int readSnf() ;
static int readSnf_with_init() ;
static int readSnfHeader() ;
static int readBdfHeaderAndPut() ;
static int mergePtn() ;
static int ModifyPtn() ;
static int InsertPtn() ;
static int writeSnf() ;
static void put_error_and_exit();
static void put_help();
static int readBdfToMemory_with_init() ;
static int rw_init(struct ptobhead *r_gpf,
struct btophead *r_snf,
struct ptobhead *w_snf,
int init_all);
static int readSnf(struct ptobhead *r_gpf,
struct btophead *r_snf,
struct ptobhead *w_snf,
char *buf);
static int readSnf_with_init(struct ptobhead *r_gpf,
struct btophead *r_snf,
struct ptobhead *w_snf,
int init,
char *buf,
int num_gr,
FalGlyphRegion *gr);
static int readSnfHeader(struct ptobhead *r_gpf,
struct btophead *r_snf,
struct ptobhead *w_snf,
char *buf) ;
static int readBdfHeaderAndPut(struct btophead *r_snf,
struct ptobhead *w_snf,
char *buf) ;
static int mergePtn(char *com,
struct ptobhead *r_gpf,
struct btophead *r_snf,
char *buf,
int code_area,
int modify,
char *prog_name,
int num_gr,
FalGlyphRegion *gr,
int code_no) ;
static int ModifyPtn(struct ptobhead *r_gpf,
struct btophead *r_snf,
char *buf,
int ix);
static int InsertPtn(struct ptobhead *r_gpf,
struct btophead *r_snf,
char *buf,
int code,
int ix);
static int writeSnf(struct btophead *r_snf, struct ptobhead *w_snf) ;
static void put_error_and_exit(struct ptobhead *ptob_in,
struct btophead *btop,
struct ptobhead *ptob_out,
int er_no,
char *prog_name);
static void put_help(char *prog_name);
static int readBdfToMemory_with_init(struct btophead *head,
int init,
char *buf,
int num_gr,
FalGlyphRegion *gr);
extern int fal_glyph_to_code() ;
extern int fal_glyph_to_code(char *locale,
char *charset_str,
int codeset,
unsigned long glyph_index,
unsigned long *codepoint);
static struct ptobhead WriteSnf;
@ -86,14 +131,15 @@ static char *util_locale ;
static pid_t gtob_pid = 0;
static pid_t btop_pid = 0;
#if defined( SVR4 ) || defined( SYSV ) || defined(CSRG_BASED) || defined(__linux__)
#if defined( SVR4 ) || defined( SYSV ) || defined(CSRG_BASED) || \
defined(__linux__)
static int chld_stat ;
#else
static union wait chld_stat ;
#endif
static void
sigint_out()
sigint_out(void)
{
if (WriteSnf.out_file) {
Unlink_Tmpfile( WriteSnf.out_file, com );
@ -101,9 +147,7 @@ sigint_out()
exit( 0 );
}
main( argc, argv )
int argc;
char *argv[];
int main(int argc, char *argv[])
{
int code_area , init, modify, help, no_infile, no_style;
int fupd = 0 ;
@ -433,11 +477,11 @@ char *argv[];
}
static
rw_init(r_gpf, r_snf, w_snf, init_all )
struct ptobhead *r_gpf;
struct btophead *r_snf;
struct ptobhead *w_snf;
int init_all;
rw_init(
struct ptobhead *r_gpf,
struct btophead *r_snf,
struct ptobhead *w_snf,
int init_all)
{
FontInfoRec *finf;
int fd[2], snf_fd, permission;
@ -458,13 +502,7 @@ int init_all;
/* SNF format */
if ( ChkPcfFontFile( w_snf->snf_file ) ) {
permission = 0 ;
if( (snf_fd = open( w_snf->snf_file, O_RDONLY ) ) >= 0 ) {
COMM_SNF_FILEVERSION( snf_fd, finf, buf, permission ) ;
if ( permission < 0 ) {
return BDF_INVAL;
}
} else {
return BDF_OPEN_IN;
}
}
@ -554,11 +592,11 @@ int init_all;
static
readSnf(r_gpf, r_snf, w_snf, buf)
struct ptobhead *r_gpf;
struct btophead *r_snf;
struct ptobhead *w_snf;
char *buf;
readSnf(
struct ptobhead *r_gpf,
struct btophead *r_snf,
struct ptobhead *w_snf,
char *buf)
{
int nchar, rtn;
@ -580,14 +618,14 @@ char *buf;
}
static
readSnf_with_init(r_gpf, r_snf, w_snf, init, buf, num_gr, gr )
struct ptobhead *r_gpf;
struct btophead *r_snf;
struct ptobhead *w_snf;
int init;
char *buf;
int num_gr ;
FalGlyphRegion *gr ;
readSnf_with_init(
struct ptobhead *r_gpf,
struct btophead *r_snf,
struct ptobhead *w_snf,
int init,
char *buf,
int num_gr,
FalGlyphRegion *gr)
{
int nchar, rtn;
@ -611,11 +649,11 @@ FalGlyphRegion *gr ;
static
readSnfHeader(r_gpf, r_snf, w_snf, buf)
struct ptobhead *r_gpf;
struct btophead *r_snf;
struct ptobhead *w_snf;
char *buf;
readSnfHeader(
struct ptobhead *r_gpf,
struct btophead *r_snf,
struct ptobhead *w_snf,
char *buf)
{
int rtn;
@ -635,10 +673,7 @@ char *buf;
}
static
readBdfHeaderAndPut(r_snf, w_snf, buf)
struct btophead *r_snf;
struct ptobhead *w_snf;
char *buf;
readBdfHeaderAndPut(struct btophead *r_snf, struct ptobhead *w_snf, char *buf)
{
char *p;
int getstat = 0;
@ -695,17 +730,17 @@ char *buf;
}
static
mergePtn(com, r_gpf, r_snf, buf, code_area, modify, prog_name, num_gr, gr, code_no)
char *com ;
struct ptobhead *r_gpf;
struct btophead *r_snf;
char *buf;
int code_area;
int modify;
char *prog_name;
int num_gr ;
FalGlyphRegion *gr ;
int code_no ;
mergePtn(
char *com,
struct ptobhead *r_gpf,
struct btophead *r_snf,
char *buf,
int code_area,
int modify,
char *prog_name,
int num_gr,
FalGlyphRegion *gr,
int code_no)
{
int code, rtn, msize, i, j, dspcode;
char *ptn;
@ -744,8 +779,11 @@ int code_no ;
) {
DispCodePoint( com, char_set, code, dspcode, code_no, util_locale ) ;
USAGE2("%s : The font of a specified code cannot be added/changed \"0x%x\".\n", prog_name, dspcode );
fgets(buf, BUFSIZE, r_gpf->input);
continue;
if( fgets(buf, BUFSIZE, r_gpf->input) == NULL){
return -1;
} else {
continue;
}
}
for ( j = 0; j < r_snf->num_chars; j++ ) {
@ -753,8 +791,11 @@ int code_no ;
if ( !modify ) {
DispCodePoint( com, char_set, code, dspcode, code_no, util_locale ) ;
USAGE2("%s : The font has already been registered in a specified code. \"0x%x\"\n", prog_name, dspcode );
fgets( buf, BUFSIZE, r_gpf->input );
break;
if(fgets( buf, BUFSIZE, r_gpf->input ) == NULL){
return -1;
} else {
break;
}
}
if ( ( rtn = ModifyPtn( r_gpf, r_snf, buf, j ) ) ) {
return rtn;
@ -778,11 +819,11 @@ int code_no ;
static
ModifyPtn( r_gpf, r_snf, buf, ix )
struct ptobhead *r_gpf;
struct btophead *r_snf;
char *buf;
int ix;
ModifyPtn(
struct ptobhead *r_gpf,
struct btophead *r_snf,
char *buf,
int ix)
{
int mwidth, msize, rtn;
@ -807,12 +848,12 @@ int ix;
}
static
InsertPtn( r_gpf, r_snf, buf, code, ix )
struct ptobhead *r_gpf;
struct btophead *r_snf;
char *buf;
int code;
int ix;
InsertPtn(
struct ptobhead *r_gpf,
struct btophead *r_snf,
char *buf,
int code,
int ix)
{
int mwidth, msize, rtn, i;
@ -851,9 +892,7 @@ int ix;
}
static
writeSnf( r_snf, w_snf )
struct btophead *r_snf;
struct ptobhead *w_snf;
writeSnf(struct btophead *r_snf, struct ptobhead *w_snf)
{
w_snf->zoomf = 0;
w_snf->num_chars = r_snf->num_chars;
@ -874,12 +913,12 @@ struct ptobhead *w_snf;
static void
put_error_and_exit(ptob_in, btop, ptob_out, er_no, prog_name)
struct ptobhead *ptob_in;
struct btophead *btop;
struct ptobhead *ptob_out;
int er_no;
char *prog_name;
put_error_and_exit(
struct ptobhead *ptob_in,
struct btophead *btop,
struct ptobhead *ptob_out,
int er_no,
char *prog_name)
{
ErrMsgTable_AndExit( er_no, ptob_in->in_file, ptob_out->out_file,
btop->in_file, NULL,
@ -892,8 +931,7 @@ char *prog_name;
static void
put_help( prog_name )
char *prog_name;
put_help(char *prog_name)
{
USAGE1("Usage: %s -xlfd xlfd_name \n", prog_name);
USAGE("\t\t[-g character_size][-p character_pattern_file_name]\n");
@ -904,7 +942,7 @@ char *prog_name;
USAGE1("%s can insert or modify glyphs in the following code area.\n", prog_name);
USAGE("codeset \t\tcode area\n");
USAGE("----------------------------------------\n");
DispUdcCpArea() ;
DispUdcCpArea(stdout) ;
USAGE("The xlfd name and character size may be obtained using dtlsgpf command.\n");
return;
}
@ -912,12 +950,12 @@ char *prog_name;
static int
readBdfToMemory_with_init(head, init, buf, num_gr, gr )
struct btophead *head;
int init;
char *buf;
int num_gr ;
FalGlyphRegion *gr ;
readBdfToMemory_with_init(
struct btophead *head,
int init,
char *buf,
int num_gr,
FalGlyphRegion *gr)
{
int code, mwidth, num_char, bsize, rtn ;
char *ptn;

View file

@ -39,16 +39,16 @@
#include "bdfgpf.h"
#include "udcutil.h"
static void put_error();
static void put_help() ;
static void Usage() ;
static void sigint_out() ;
static int CnvBDFtoGPF() ;
static void put_error(struct btophead *head, int er_no, char *prog_name);
static void put_help(char *prog_name);
static void Usage(char *prog_name) ;
static void sigint_out(void) ;
static int CnvBDFtoGPF(struct btophead *head) ;
static struct btophead Head;
static void
sigint_out()
sigint_out(void)
{
if (Head.out_file) {
unlink(Head.out_file);
@ -56,9 +56,7 @@ sigint_out()
exit(0);
}
main(argc, argv)
int argc;
char *argv[];
int main(int argc, char *argv[])
{
int rtn, i;
char *GetTmpPath();
@ -190,8 +188,7 @@ char *argv[];
}
static
CnvBDFtoGPF(head)
struct btophead *head;
CnvBDFtoGPF( struct btophead *head)
{
char bdfbuf[BUFSIZE];
int rtn;
@ -235,10 +232,7 @@ struct btophead *head;
}
static void
put_error(head, er_no, prog_name)
struct btophead *head;
int er_no;
char *prog_name;
put_error(struct btophead *head, int er_no, char *prog_name)
{
switch(er_no) {
case FATAL_ERROR :
@ -276,16 +270,14 @@ char *prog_name;
}
static void
put_help(prog_name)
char *prog_name;
put_help(char *prog_name)
{
USAGE1("Usage: %s [-p character_pattern_file_name] [-bdf BDF_file_name]\n", prog_name);
USAGE("\t\t[-width character_width] [-height character_height] [-help]\n\n");
}
static void
Usage(prog_name)
char *prog_name;
Usage(char *prog_name)
{
put_help(prog_name);
exit(PARAM_ERROR * (-1));

View file

@ -37,16 +37,16 @@
#include "bdfgpf.h"
#include "udcutil.h"
static void put_error();
static void put_help() ;
static void Usage() ;
static int CnvGPFtoBDF() ;
static void sigint_out() ;
static void put_error(struct ptobhead *head, int er_no, char *prog_name);
static void put_help(char *prog_name);
static void Usage(char *prog_name);
static int CnvGPFtoBDF(struct ptobhead *head) ;
static void sigint_out(void) ;
static struct ptobhead Head;
static void
sigint_out()
sigint_out(void)
{
if ( Head.out_file ) {
unlink( Head.out_file );
@ -54,9 +54,7 @@ sigint_out()
exit( 0 );
}
main( argc, argv )
int argc;
char *argv[];
int main( int argc, char *argv[])
{
int rtn, i;
char *GetTmpPath();
@ -184,8 +182,7 @@ char *argv[];
}
static
CnvGPFtoBDF( head )
struct ptobhead *head;
CnvGPFtoBDF(struct ptobhead *head)
{
char textbuf[BUFSIZE] ;
int rtn ;
@ -226,10 +223,7 @@ struct ptobhead *head;
}
static void
put_error( head, er_no, prog_name )
struct ptobhead *head;
int er_no;
char *prog_name;
put_error(struct ptobhead *head, int er_no, char *prog_name)
{
switch( er_no ) {
case FATAL_ERROR:
@ -274,16 +268,14 @@ char *prog_name;
}
static void
put_help( prog_name )
char *prog_name;
put_help( char *prog_name)
{
USAGE1("Usage: %s [-bdf BDF_file_name] [-p chracter_pattern_file_name]\n", prog_name);
USAGE("\t\t[-g user_defined_character_file_name] [-help]\n");
}
static void
Usage( prog_name )
char *prog_name;
Usage( char *prog_name)
{
put_help( prog_name );
exit( PARAM_ERROR * (-1) );

View file

@ -53,7 +53,7 @@
#include "bdfgpf.h"
#include "snfstruct.h"
#include "fontstruct.h"
#include <X11/fonts/fontstruct.h>
#include "FaLib.h"
#include "udcutil.h"
@ -61,10 +61,12 @@
#include <errno.h>
static void sigint_out() ;
static void put_error_and_exit();
static void put_help();
static int CnvGPFtoBDF() ;
static void sigint_out(void);
static void put_error_and_exit(struct ptobhead *ptob,
int er_no,
char *prog_name);
static void put_help(char *prog_name);
static int CnvGPFtoBDF(struct ptobhead *head);
static struct ptobhead Head;
@ -75,7 +77,7 @@ static char *char_set ;
static void
sigint_out()
sigint_out(void)
{
if (Head.out_file) {
Unlink_Tmpfile(Head.out_file, com);
@ -83,9 +85,7 @@ sigint_out()
exit(0);
}
main( argc, argv )
int argc;
char *argv[];
int main(int argc, char *argv[])
{
FontInfoRec *finf;
int help, no_infile, style_err, rtn, i;
@ -96,7 +96,8 @@ char *argv[];
char *style ; /* style */
int chk_fd;
pid_t chld_pid = 0;
#if defined( SVR4 ) || defined( SYSV ) || defined(CSRG_BASED) || defined(__linux__)
#if defined( SVR4 ) || defined( SYSV ) || defined(CSRG_BASED) || \
defined(__linux__)
int chld_stat ;
#else
union wait chld_stat ;
@ -282,15 +283,8 @@ char *argv[];
put_error_and_exit( &Head, MKTMP_ERROR, argv[0] );
}
permission = 0;
if ( ( snf_fd = open( Head.snf_file, O_RDONLY ) ) >= 0 ) {
if ( ChkPcfFontFile( Head.snf_file) ) {
/* snf file */
COMM_SNF_FILEVERSION( snf_fd, finf, buf, permission ) ;
if( permission < 0 ) {
put_error_and_exit( &Head, BDF_INVAL, argv[0] );
}
} else {
/* pcf */
close( snf_fd );
}
@ -396,8 +390,7 @@ char *argv[];
static
CnvGPFtoBDF( head )
struct ptobhead *head;
CnvGPFtoBDF(struct ptobhead *head)
{
int rtn;
char textbuf[BUFSIZE];
@ -439,10 +432,7 @@ struct ptobhead *head;
static void
put_error_and_exit( ptob, er_no, prog_name )
struct ptobhead *ptob;
int er_no;
char *prog_name;
put_error_and_exit(struct ptobhead *ptob, int er_no, char *prog_name)
{
ErrMsgTable_AndExit( er_no, ptob->snf_file, ptob->out_file,
ptob->in_file, NULL,
@ -454,8 +444,7 @@ char *prog_name;
static void
put_help( prog_name )
char *prog_name;
put_help(char *prog_name)
{
USAGE1("Usage: %s -xlfd xlfd_name\n", prog_name);
USAGE("\t\t[-g character_size][-p character_pattern_file_name]\n" );

View file

@ -52,7 +52,7 @@
#include <X11/Xmd.h>
#include <X11/Xproto.h>
#include "fontstruct.h"
#include <X11/fonts/fontstruct.h>
#include "FaLib.h"
#include "snfstruct.h"
@ -68,26 +68,63 @@
#define RESIZE_BY_RATE( a, r ) ((int)( (float)(a) * (r)))
#define DEF_RESOLUTION ((78 / 72.27) * 100)
static void put_error_and_exit();
static void put_help();
static void sigint_out() ;
static void getDefaultCh() ;
static void MkFontProp() ;
static void put_error_and_exit(struct btophead *ptob_in,
struct ptobhead *ptob_out,
int er_no,
char *prog_name);
static void put_help(char *prog_name);
static void sigint_out(void);
static void getDefaultCh(unsigned int cbuf);
static void MkFontProp(int font_height, char *font, char *output);
static int CpyGpfInit() ;
static int writeGpf() ;
static int check_width() ;
static int check_height() ;
static int check_width_height() ;
static int getGpfFileName() ;
static int readGpf() ;
static int readBdfHeaderAndPut() ;
static int check_code() ;
static int readBdfToMemory() ;
static int cpg_atoi() ;
static int is_in_udcregion() ;
static int CpyGpfInit(struct btophead *i_gpf,
struct btophead *o_gpf,
struct ptobhead *w_gpf,
int type);
static int writeGpf(struct btophead *i_gpf,
struct btophead *o_gpf,
struct ptobhead *w_gpf);
static int check_width(char *prog_name, char *len_str);
static int check_height(char *prog_name, char *len_str);
static int check_width_height(char *prog_name, char *len_str, int mode);
static int getGpfFileName(char *com,
struct btophead *gpfinf,
int code_area,
int code_no,
char *xlfdname,
char *snf_file,
char *style);
static int readGpf(struct btophead *i_gpf,
char *buf,
int startcode,
int endcode,
int num_gr,
FalGlyphRegion *gr);
static int readBdfHeaderAndPut(struct btophead *o_gpf,
struct ptobhead *w_gpf,
char *buf);
static int check_code(char *prog_name,
char *code_str,
int mode,
char *charset,
int num_gr,
FalGlyphRegion *gr);
static int readBdfToMemory(struct btophead *head,
char *buf,
int startcode,
int endcode,
int num_gr,
FalGlyphRegion *gr);
static int cpg_atoi(char *numstr);
static int is_in_udcregion(int start,
int end,
int num_gr,
FalGlyphRegion *gr);
extern int fal_code_to_glyph() ;
extern int fal_code_to_glyph(char *locale,
unsigned long codepoint,
FalGIInf **gi,
int *num_gi);
static struct ptobhead WriteGpf;
@ -103,7 +140,7 @@ static char *xlfdname ;
static void
sigint_out()
sigint_out(void)
{
if (WriteGpf.out_file) {
Unlink_Tmpfile( WriteGpf.out_file, com );
@ -112,9 +149,7 @@ sigint_out()
}
main( argc, argv )
int argc;
char **argv ;
int main(int argc, char **argv)
{
int code_area , help, no_infile, no_style, type ;
int rtn, i, exit_code ;
@ -538,14 +573,14 @@ char **argv ;
static int
getGpfFileName( com, gpfinf, code_area, code_no, xlfdname, snf_file, style )
char *com ;
struct btophead *gpfinf ;
int code_area ;
int code_no ;
char *xlfdname ;
char *snf_file ;
char *style ;
getGpfFileName(
char *com,
struct btophead *gpfinf,
int code_area,
int code_no,
char *xlfdname,
char *snf_file,
char *style)
{
@ -586,11 +621,11 @@ char *style ;
static
CpyGpfInit(i_gpf, o_gpf, w_gpf, type )
struct btophead *i_gpf;
struct btophead *o_gpf;
struct ptobhead *w_gpf;
int type ;
CpyGpfInit(
struct btophead *i_gpf,
struct btophead *o_gpf,
struct ptobhead *w_gpf,
int type)
{
FontInfoRec *finf;
int ifd[2], ofd[2], snf_fd, permission;
@ -604,13 +639,7 @@ int type ;
/* SNF format */
if( !new_target ){
if ( ChkPcfFontFile( w_gpf->snf_file ) ) {
permission = 0 ;
if( (snf_fd = open( w_gpf->snf_file, O_RDONLY ) ) >= 0 ) {
COMM_SNF_FILEVERSION( snf_fd, finf, buf, permission ) ;
if ( permission < 0 ) {
return BDF_INVAL;
}
} else {
return BDF_OPEN_IN;
}
}
@ -733,12 +762,13 @@ int type ;
static int
readGpf(i_gpf, buf, startcode, endcode, num_gr, gr)
struct btophead *i_gpf;
char *buf;
int startcode ;
int endcode ;
FalGlyphRegion *gr ;
readGpf(
struct btophead *i_gpf,
char *buf,
int startcode,
int endcode,
int num_gr,
FalGlyphRegion *gr)
{
int nchar, rtn;
@ -762,10 +792,7 @@ FalGlyphRegion *gr ;
static int
readBdfHeaderAndPut(o_gpf, w_gpf, buf)
struct btophead *o_gpf;
struct ptobhead *w_gpf;
char *buf;
readBdfHeaderAndPut(struct btophead *o_gpf, struct ptobhead *w_gpf, char *buf)
{
FILE *fp ;
char *p;
@ -886,10 +913,7 @@ char *buf;
static
writeGpf( i_gpf, o_gpf, w_gpf )
struct btophead *i_gpf;
struct btophead *o_gpf;
struct ptobhead *w_gpf;
writeGpf(struct btophead *i_gpf, struct btophead *o_gpf, struct ptobhead *w_gpf)
{
FILE *fp ;
char rdbuf[BUFSIZE] ;
@ -936,27 +960,21 @@ struct ptobhead *w_gpf;
static int
check_width( prog_name, len_str )
char *prog_name;
char *len_str;
check_width(char *prog_name, char *len_str)
{
return( check_width_height( prog_name, len_str, 0) );
}
static int
check_height( prog_name, len_str )
char *prog_name;
char *len_str;
check_height(char *prog_name, char *len_str)
{
return( check_width_height( prog_name, len_str, 1) );
}
static int
check_width_height( prog_name, len_str, mode )
char *prog_name;
char *len_str;
int mode; /* width ... 0 , height ... 1 */
check_width_height(char *prog_name, char *len_str, int mode)
/* width ... 0 , height ... 1 */
{
int ret;
char *tmp;
@ -983,13 +1001,13 @@ int mode; /* width ... 0 , height ... 1 */
static int
check_code( prog_name, code_str, mode, charset, num_gr, gr )
char *prog_name;
char *code_str;
int mode; /* start_code ... 0, end_code ... 1 */
char *charset ;
int num_gr ;
FalGlyphRegion *gr ;
check_code(
char *prog_name,
char *code_str,
int mode, /* start_code ... 0, end_code ... 1 */
char *charset,
int num_gr,
FalGlyphRegion *gr)
{
int err_flg = 0;
int code_num;
@ -1054,13 +1072,13 @@ FalGlyphRegion *gr ;
static int
readBdfToMemory(head, buf, startcode, endcode, num_gr, gr)
struct btophead *head;
char *buf;
int startcode ;
int endcode ;
int num_gr ;
FalGlyphRegion *gr ;
readBdfToMemory(
struct btophead *head,
char *buf,
int startcode,
int endcode,
int num_gr,
FalGlyphRegion *gr)
{
int code, mwidth, num_char, bsize, rtn;
char *ptn;
@ -1095,11 +1113,8 @@ FalGlyphRegion *gr ;
static void
getDefaultCh( code )
unsigned int code ;
getDefaultCh(unsigned int cbuf)
{
unsigned int cbuf ;
cbuf = code ;
if( (cbuf & 0xff) < firstCol ) firstCol = cbuf & 0xff ;
if( (cbuf >> 8) < firstRow ) firstRow = cbuf >> 8 ;
if( (cbuf & 0xff) > lastCol ) lastCol = cbuf & 0xff ;
@ -1108,8 +1123,7 @@ unsigned int code ;
static int
cpg_atoi( numstr )
char *numstr ;
cpg_atoi(char *numstr)
{
int val ;
char *ep, *cbuf ;
@ -1123,9 +1137,7 @@ char *numstr ;
}
static int
is_in_udcregion( start, end, num_gr, gr )
int start, end, num_gr ;
FalGlyphRegion *gr ;
is_in_udcregion( int start, int end, int num_gr, FalGlyphRegion *gr )
{
int i ;
if( start < gr[0].start && end < gr[0].start ){
@ -1145,10 +1157,7 @@ FalGlyphRegion *gr ;
static void
MkFontProp(font_height, font, output)
int font_height ;
char *font;
char *output;
MkFontProp(int font_height, char *font, char *output)
{
char fbuf[BUFSIZE], split[BUFSIZE] ;
char *ep, *pix_sz, *point_sz, *rsl_x, *av_width, *char_set ;
@ -1177,11 +1186,11 @@ char *output;
static void
put_error_and_exit(ptob_in, ptob_out, er_no, prog_name)
struct btophead *ptob_in;
struct ptobhead *ptob_out;
int er_no;
char *prog_name;
put_error_and_exit(
struct btophead *ptob_in,
struct ptobhead *ptob_out,
int er_no,
char *prog_name)
{
ErrMsgTable_AndExit( er_no, ptob_in->in_file, ptob_out->out_file,
NULL, NULL, NULL, prog_name );
@ -1191,8 +1200,7 @@ char *prog_name;
static void
put_help( prog_name )
char *prog_name;
put_help(char *prog_name)
{
USAGE1("Usage: %s -ixlfd oxlfd -oxlfd oxlfd\n", prog_name);
USAGE("\t[in_character_size][out_character_size]\n");
@ -1202,7 +1210,7 @@ char *prog_name;
USAGE1("%s can copy glyphs of gpf file in the following code area.\n", prog_name);
USAGE("codeset \t\tcode area\n");
USAGE("----------------------------------------\n");
DispUdcCpArea() ;
DispUdcCpArea(stdout) ;
USAGE("If the -start and -end option is omitted, the start/end code of each extractive area is specified.\n");
USAGE("The xlfd name and character size may be obtained using dtlsgpf command.\n");
return;

View file

@ -94,13 +94,6 @@ typedef struct _TempFont {
# define DEFAULTBYTEORDER MSBFirst /* default bitmap byte order */
# define DEFAULTSCANUNIT 1 /* default bitmap scan unit */
#elif defined(pegasus)
# define DEFAULTGLPAD 4 /* default padding for glyphs */
# define DEFAULTBITORDER MSBFirst /* default bitmap bit order */
# define DEFAULTBYTEORDER MSBFirst /* default bitmap byte order */
# define DEFAULTSCANUNIT 1 /* default bitmap scan unit */
#elif defined(mips)
# ifdef MIPSEL

View file

@ -36,14 +36,14 @@
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#include "font.h"
#include "misc.h"
#include <X11/fonts/font.h>
#include <X11/X.h>
#include <X11/Xproto.h>
#include <X11/Xmd.h>
#include <X11/Intrinsic.h>
#include <ctype.h>
#include <errno.h>
#include "fontstruct.h"
#include <X11/fonts/fontstruct.h>
#include "snfstruct.h"
#include <time.h>
#include "bdftosnf.h"
@ -107,40 +107,80 @@ typedef struct prop_tmp {
static char *readfontfile();
static void Anafprop();
static void pSIZE();
static void pPROPS();
static void pCHARS();
static void pfixCHARS();
static int getarg();
static char *readfontfile(char *fname);
static void Anafprop(FontInfoRec *fip,
FontPropRec *fpropPtr,
char *fpropvnPtr,
char **fontname,
FontPropRec **fplistPtr,
FontPropRec *ps,
FontPropRec *res,
unsigned int *fplistNum);
static void pSIZE(FontPropRec *ps, FontPropRec *res);
static void pPROPS(FontInfoRec *fip,
FontPropRec *fplistPtr,
unsigned int fplistNum);
static void pCHARS(FontInfoRec *fip,
CharInfoRec *cip,
char *glyphPtr,
unsigned int charNum,
unsigned int glyphPad);
static void pfixCHARS(FontInfoRec *fip,
CharInfoRec *cip,
char *glyphPtr,
unsigned int charNum,
unsigned int glyphPad);
static int getarg(int argc,
char *argv[],
char *fname,
int *bitorder,
int *byteorder,
int *scanunit,
int *glyphPad,
int *outLevel,
int *fix);
static Bool seekToType() ;
static void getMetric() ;
static Bool getAccel() ;
static Bool getProperties() ;
static void putPtn() ;
static void ByteSwap() ;
static void invertBits() ;
static Bool seekToType(PCFTablePtr tables,
int ntables,
CARD32 type,
CARD32 *formatp,
CARD32 *sizep,
CARD32 *offsetp);
static void getMetric(caddr_t buf, CARD32 format, xCharInfo *metric) ;
static Bool getAccel(FontInfoPtr pFontInfo,
xCharInfo *maxink,
caddr_t buf_top,
PCFTablePtr tables,
int ntables,
CARD32 type);
static Bool getProperties(PcfTmp *pcf,
caddr_t buf_top,
PCFTablePtr tables,
int ntables);
static void putPtn(unsigned char *bits, int width, int height);
static void ByteSwap(char *p, int scan);
static void invertBits(char *src,
CARD32 format,
int width,
int height,
char *dest) ;
static int getINT16() ;
static int getINT32() ;
static CARD32 getLSB32();
static char *make_toptn();
static void pSIZE_pcf();
static PcfTmp *openPcfFont();
static void setProp();
static void pPROPS_pcf();
static void pCHARS_pcf();
static void BitOrderInvert();
static int getINT16(unsigned char *p, CARD32 format);
static int getINT32(unsigned char *p, CARD32 format);
static CARD32 getLSB32(unsigned char *p);
static char *make_toptn(int width, int height);
static void pSIZE_pcf(PropTmp *proptmp);
static PcfTmp *openPcfFont(char *fontname);
static void setProp(PcfTmp *pcf, PropTmp *proptmp);
static void pPROPS_pcf(PcfTmp *pcf);
static void pCHARS_pcf(PcfTmp *pcf, int fix);
static void BitOrderInvert(unsigned char *buf, int nbytes);
static char *bufp,buf[2048];
extern int ChkPcfFontFile();
extern int ChkPcfFontFile(char *filename);
main( argc,argv )
int argc;
char *argv[];
int main( int argc, char *argv[] )
{
int i,k;
@ -150,7 +190,7 @@ char *argv[];
CharInfoRec *cip, *wkcip; /* character information */
unsigned int glyphstotal; /* glyph */
unsigned int charInfoNum ; /* character information's number */
unsigned int charNum; /* define character number */
unsigned int charNum; /* define character number */
char *glyphPtr; /* glyph */
FontPropRec *fpropPtr,*fplistPtr; /* font property list */
FontPropRec psprop; /* point size property */
@ -215,12 +255,6 @@ char *argv[];
if ( !isPcf ) {
/* SNF format */
COMM_SNF_GETHEADER( fip, fp ) ;
/* font file check */
if ((fip->version1 != fip->version2) ||
(fip->version1 != FONT_FILE_VERSION)) {
USAGE("dtgpftobdf: illegal font version\n");
exit( -1 );
}
cip = (CharInfoRec *)((char *)fip + sizeof(FontInfoRec));
@ -231,26 +265,16 @@ char *argv[];
charNum = charInfoNum ;
wkcip = cip ;
glyphstotal = fip->maxbounds.byteOffset;
glyphPad = (((fip->maxbounds.metrics.rightSideBearing
- fip->maxbounds.metrics.leftSideBearing)+31)/32)*4;
glyphPad = (((fip->maxbounds.rightSideBearing
- fip->maxbounds.leftSideBearing)+31)/32)*4;
if ( fix == TRUE ) {
for ( i = 0; i < charInfoNum; i++ ) {
if ( wkcip->exists == FALSE ) {
charNum-- ;
}
wkcip++;
}
} else {
glyphstotal = 0 ;
for ( i = 0; i < charInfoNum; i++ ) {
if (wkcip->exists == FALSE) {
charNum-- ;
wkcip++;
continue;
}
glyphstotal += (wkcip->metrics.ascent
+ wkcip->metrics.descent) * glyphPad;
wkcip++;
@ -258,7 +282,7 @@ char *argv[];
}
fpropPtr = (FontPropRec *)(glyphPtr + glyphstotal);
fpropvnPtr = ((char *)fpropPtr) + (fip->nProps) * sizeof(FontPropRec);
fpropvnPtr = ((char *)fpropPtr) + (fip->nprops) * sizeof(FontPropRec);
}
@ -303,12 +327,12 @@ char *argv[];
fprintf( stdout,"%s",buf );
pSIZE_pcf( &proptmp );
fprintf( stdout,"FONTBOUNDINGBOX %d %d %d %d\n",
pcf->info.maxbounds.metrics.rightSideBearing
- pcf->info.maxbounds.metrics.leftSideBearing,
pcf->info.maxbounds.metrics.ascent
+ pcf->info.maxbounds.metrics.descent,
pcf->info.maxbounds.metrics.leftSideBearing,
- ( pcf->info.maxbounds.metrics.descent )
pcf->info.maxbounds.rightSideBearing
- pcf->info.maxbounds.leftSideBearing,
pcf->info.maxbounds.ascent
+ pcf->info.maxbounds.descent,
pcf->info.maxbounds.leftSideBearing,
- ( pcf->info.maxbounds.descent )
);
pPROPS_pcf( pcf );
if ( outLevel == FALSE ) {
@ -344,10 +368,8 @@ char *argv[];
/*
* read to font file
*
*/
static char *readfontfile( fname )
char *fname;
static char *readfontfile( char *fname )
{
int fd;
char *fp = NULL;
@ -407,8 +429,7 @@ char *fname;
#define getINT8( p ) ( *p++ ) ;
static CARD32
getLSB32( p )
unsigned char *p;
getLSB32( unsigned char *p )
{
CARD32 c;
@ -422,9 +443,7 @@ unsigned char *p;
static int
getINT32( p, format )
unsigned char *p;
CARD32 format;
getINT32( unsigned char *p, CARD32 format )
{
CARD32 c;
@ -444,9 +463,7 @@ CARD32 format;
}
static int
getINT16( p, format )
unsigned char *p;
CARD32 format;
getINT16( unsigned char *p, CARD32 format )
{
CARD32 c;
@ -462,13 +479,13 @@ CARD32 format;
}
static Bool
seekToType( tables, ntables, type, formatp, sizep, offsetp)
PCFTablePtr tables;
int ntables;
CARD32 type;
CARD32 *formatp;
CARD32 *sizep;
CARD32 *offsetp;
seekToType(
PCFTablePtr tables,
int ntables,
CARD32 type,
CARD32 *formatp,
CARD32 *sizep,
CARD32 *offsetp)
{
int i;
@ -485,10 +502,7 @@ CARD32 *offsetp;
static void
getMetric( buf, format, metric )
caddr_t buf;
CARD32 format;
xCharInfo *metric;
getMetric( caddr_t buf, CARD32 format, xCharInfo *metric)
{
metric->leftSideBearing = getINT16( (unsigned char *)buf, format);
buf += 2;
@ -505,13 +519,13 @@ xCharInfo *metric;
}
static Bool
getAccel( pFontInfo, maxink, buf_top, tables, ntables, type )
FontInfoPtr pFontInfo;
xCharInfo *maxink;
caddr_t buf_top;
PCFTablePtr tables;
int ntables;
CARD32 type;
getAccel(
FontInfoPtr pFontInfo,
xCharInfo *maxink,
caddr_t buf_top,
PCFTablePtr tables,
int ntables,
CARD32 type)
{
CARD32 format;
CARD32 size;
@ -549,28 +563,24 @@ CARD32 type;
buffer += 4;
getMetric(buffer, format, &pFontInfo->minbounds.metrics);
getMetric(buffer, format, &pFontInfo->minbounds);
buffer += 12;
getMetric(buffer, format, &pFontInfo->maxbounds.metrics);
getMetric(buffer, format, &pFontInfo->maxbounds);
buffer += 12;
if ( PCF_FORMAT_MATCH( format, PCF_ACCEL_W_INKBOUNDS ) ) {
buffer += 12;
getMetric( buffer, format, maxink);
} else {
*maxink = pFontInfo->maxbounds.metrics;
*maxink = pFontInfo->maxbounds;
}
return TRUE;
}
static Bool
getProperties( pcf, buf_top, tables, ntables)
PcfTmp *pcf;
caddr_t buf_top;
PCFTablePtr tables;
int ntables;
getProperties(PcfTmp *pcf, caddr_t buf_top, PCFTablePtr tables, int ntables)
{
CARD32 format;
CARD32 size;
@ -620,38 +630,40 @@ int ntables;
static PcfTmp *
openPcfFont( fontname )
char *fontname;
openPcfFont(char *fontname)
{
PcfTmp *pcf_tmp;
PcfTmp *pcf_tmp;
CARD32 format;
CARD32 size;
CARD32 offset;
CARD32 *bitmapSizes;
xCharInfo maxink;
caddr_t buffp;
struct stat st;
CARD32 format;
CARD32 size;
CARD32 offset;
CARD32 *bitmapSizes;
xCharInfo maxink;
caddr_t buffp;
struct stat st;
pcf_tmp = ( PcfTmp * )calloc( 1, sizeof( PcfTmp ) );
while(1){
pcf_tmp = ( PcfTmp * )calloc( 1, sizeof( PcfTmp ) );
if ( !pcf_tmp ) {
USAGE("dtgpftobdf : calloc() error.\n" ) ;
goto Bail;
break;
}
if ( stat( fontname, &st ) ) {
goto Bail;
break;
}
if ( ( pcf_tmp->pcf_buffer = readfontfile( fontname)) == (char *)-1 ) {
goto Bail;
break;
}
pcf_tmp->pcf_bufsz = st.st_size;
if ( (format = getLSB32( (unsigned char *)pcf_tmp->pcf_buffer )) != PCF_FILE_VERSION ) {
USAGE1("dtgpftobdf : pcf file version(0x%x) error.\n", format ) ;
goto Bail;
break;
}
pcf_tmp->ntables = getLSB32( (unsigned char *)(pcf_tmp->pcf_buffer + 4) );
@ -668,7 +680,7 @@ char *fontname;
)
) {
USAGE("dtgpftobdf : Cannot get accelerators.\n" ) ;
goto Bail;
break;
}
}
@ -678,7 +690,7 @@ char *fontname;
)
) {
USAGE("dtgpftobdf : getProperties error.\n" ) ;
goto Bail;
break;
}
if ( !seekToType(
pcf_tmp->tables, pcf_tmp->ntables,
@ -686,7 +698,7 @@ char *fontname;
)
) {
USAGE("dtgpftobdf : PCF_BITMAPS error.\n" ) ;
goto Bail;
break;
}
buffp = pcf_tmp->pcf_buffer + offset;
@ -696,7 +708,7 @@ char *fontname;
if ( !PCF_FORMAT_MATCH( format, PCF_DEFAULT_FORMAT ) ) {
USAGE("dtgpftobdf : error.!PCF_FORMAT_MATCH(PCF_BITMAPS)\n" ) ;
goto Bail;
break;
}
pcf_tmp->nbitmaps = getINT32( (unsigned char *)buffp, format);
@ -719,7 +731,7 @@ char *fontname;
)
) {
USAGE("dtgpftobdf : error.(PCF_BDF_ENCODINGS)\n" ) ;
goto Bail;
break;
}
buffp = pcf_tmp->pcf_buffer + offset;
@ -727,7 +739,7 @@ char *fontname;
buffp += 4;
if ( !PCF_FORMAT_MATCH( format, PCF_DEFAULT_FORMAT ) ) {
USAGE("dtgpftobdf : error.!PCF_FORMAT_MATCH(PCF_BDF_ENCODINGS)\n" ) ;
goto Bail;
break;
}
pcf_tmp->info.firstCol = getINT16( (unsigned char *)buffp, format);
@ -738,7 +750,7 @@ char *fontname;
buffp += 2;
pcf_tmp->info.lastRow = getINT16( (unsigned char *)buffp, format);
buffp += 2;
pcf_tmp->info.chDefault = getINT16( (unsigned char *)buffp, format);
pcf_tmp->info.defaultCh = getINT16( (unsigned char *)buffp, format);
buffp += 2;
pcf_tmp->info.allExist = FALSE;
@ -753,14 +765,14 @@ char *fontname;
(CARD32)PCF_SWIDTHS, &format, &size, &offset
)
) {
goto Bail;
break;
}
buffp = pcf_tmp->pcf_buffer + offset;
format = getLSB32( (unsigned char*)buffp);
buffp += 4;
if ( !PCF_FORMAT_MATCH( format, PCF_DEFAULT_FORMAT ) ) {
goto Bail;
break;
}
pcf_tmp->swd_fmt = (CARD32)format ;
pcf_tmp->swd_num = getINT32( (unsigned char*)buffp, format ) ;
@ -776,14 +788,14 @@ char *fontname;
(CARD32)PCF_GLYPH_NAMES, &format, &size, &offset
)
) {
goto Bail;
break;
}
buffp = pcf_tmp->pcf_buffer + offset;
format = getLSB32( (unsigned char*)buffp);
buffp += 4;
if ( !PCF_FORMAT_MATCH( format, PCF_DEFAULT_FORMAT ) ) {
goto Bail;
break;
}
pcf_tmp->glyphs = getINT32( (unsigned char*)buffp, format ) ;
buffp += 4;
@ -800,7 +812,7 @@ char *fontname;
(CARD32)PCF_METRICS, &format, &size, &offset
)
) {
goto Bail;
break;
}
buffp = pcf_tmp->pcf_buffer + offset;
@ -815,41 +827,40 @@ char *fontname;
pcf_tmp->mtr_num = (int)getINT16( (unsigned char*)buffp, format ) ;
buffp += 2;
}else{
goto Bail;
break;
}
pcf_tmp->metrics = (xCharInfo *)buffp ;
pcf_tmp->mtr_fmt = (CARD32)format ;
return pcf_tmp;
Bail:
if ( pcf_tmp ) {
free( pcf_tmp );
}
return NULL;
}
if ( pcf_tmp ) {
free( pcf_tmp );
}
return NULL;
}
static void
Anafprop(fip,fpropPtr,fpropvnPtr,fontname,ps,res,fplistPtr,fplistNum)
FontInfoRec *fip;
FontPropRec *fpropPtr;
char *fpropvnPtr;
char **fontname;
FontPropRec **fplistPtr;
FontPropRec *ps;
FontPropRec *res;
unsigned int *fplistNum;
Anafprop(
FontInfoRec *fip,
FontPropRec *fpropPtr,
char *fpropvnPtr,
char **fontname,
FontPropRec **fplistPtr,
FontPropRec *ps,
FontPropRec *res,
unsigned int *fplistNum)
{
FontPropRec *wkp ,*wklp;
int i, fpnL;
char *fpnp;
*fplistNum = fip->nProps - 1;
*fplistNum = fip->nprops - 1;
*fplistPtr = (FontPropRec *)malloc(*fplistNum * sizeof(FontPropRec));
wkp = fpropPtr;
wklp = *fplistPtr;
for (i = 0; i < fip->nProps; i++) {
for (i = 0; i < fip->nprops; i++) {
fpnp = fpropvnPtr + wkp->name;
fpnL = strlen(fpnp);
if ((fpnL == 4) && (strncmp(fpnp,"FONT",4) == 0)) {
@ -866,12 +877,7 @@ unsigned int *fplistNum;
}
}
wklp->name = (CARD32) (intptr_t) fpropvnPtr + wkp->name;
if (wkp->indirect == TRUE) {
wklp->value = (INT32) (intptr_t) fpropvnPtr + wkp->value;
} else {
wklp->value = wkp->value;
}
wklp->indirect = wkp->indirect;
wkp++;
wklp++;
}
@ -880,9 +886,7 @@ unsigned int *fplistNum;
static void
setProp( pcf, proptmp )
PcfTmp *pcf;
PropTmp *proptmp;
setProp( PcfTmp *pcf, PropTmp *proptmp )
{
int i, fpnL;
char *fpnp;
@ -911,8 +915,7 @@ PropTmp *proptmp;
*
*/
static void
pSIZE( ps, res )
FontPropRec *ps, *res;
pSIZE( FontPropRec *ps, FontPropRec *res )
{
int k;
float f;
@ -934,8 +937,7 @@ FontPropRec *ps, *res;
/* output to SIZE of pcf font */
static void
pSIZE_pcf( proptmp )
PropTmp *proptmp;
pSIZE_pcf( PropTmp *proptmp )
{
int k;
float f;
@ -956,10 +958,7 @@ PropTmp *proptmp;
static void
pPROPS( fip,fplistPtr,fplistNum )
FontInfoRec *fip;
FontPropRec *fplistPtr;
unsigned int fplistNum;
pPROPS( FontInfoRec *fip, FontPropRec *fplistPtr, unsigned int fplistNum )
{
FontPropRec *wkp;
int i, k;
@ -971,18 +970,13 @@ unsigned int fplistNum;
bufp += k;
k = snprintf( bufp, sizeof(buf) - (bufp - buf), "FONT_DESCENT %d\n", fip->fontDescent );
bufp += k;
k = snprintf( bufp, sizeof(buf) - (bufp - buf), "DEFAULT_CHAR %d\n", fip->chDefault );
k = snprintf( bufp, sizeof(buf) - (bufp - buf), "DEFAULT_CHAR %d\n", fip->defaultCh );
bufp += k;
wkp = fplistPtr;
for ( i = 0; i < fplistNum; i++ ) {
if ( wkp->indirect == TRUE ) {
k = snprintf( bufp, sizeof(buf) - (bufp - buf), "%s \"%s\"\n", (char *) (intptr_t) wkp->name, (char *) (intptr_t) wkp->value );
bufp += k;
} else {
k = snprintf( bufp, sizeof(buf) - (bufp - buf), "%s %d\n", (char *) (intptr_t) wkp->name, wkp->value );
bufp += k;
}
wkp++;
wkp++;
}
k = snprintf( bufp, sizeof(buf) - (bufp - buf), "ENDPROPERTIES\n" );
bufp += k;
@ -995,8 +989,7 @@ unsigned int fplistNum;
/* output to font property information of pcf fontpcf */
static void
pPROPS_pcf( pcf )
PcfTmp *pcf;
pPROPS_pcf(PcfTmp *pcf)
{
FontPropPtr wkp;
int i, k;
@ -1005,16 +998,16 @@ PcfTmp *pcf;
k = sprintf( bufp, "STARTPROPERTIES %d\n", pcf->nprops+3 );
bufp += k;
k = sprintf( bufp, "FONT_ASCENT %d\n",
(pcf->info.fontAscent >= pcf->info.maxbounds.metrics.ascent)
? pcf->info.fontAscent : pcf->info.maxbounds.metrics.ascent
(pcf->info.fontAscent >= pcf->info.maxbounds.ascent)
? pcf->info.fontAscent : pcf->info.maxbounds.ascent
);
bufp += k;
k = sprintf( bufp, "FONT_DESCENT %d\n",
(pcf->info.fontDescent >= pcf->info.maxbounds.metrics.descent)
? pcf->info.fontDescent : pcf->info.maxbounds.metrics.descent
(pcf->info.fontDescent >= pcf->info.maxbounds.descent)
? pcf->info.fontDescent : pcf->info.maxbounds.descent
);
bufp += k;
k = sprintf( bufp, "DEFAULT_CHAR %d\n", pcf->info.chDefault );
k = sprintf( bufp, "DEFAULT_CHAR %d\n", pcf->info.defaultCh );
bufp += k;
wkp = pcf->props;
for ( i = 0; i < pcf->nprops; i++ ) {
@ -1043,16 +1036,14 @@ PcfTmp *pcf;
/*
* output to character information and patern
*
*/
static void
pCHARS(fip,cip,glyphPtr,charNum,glyphPad)
FontInfoRec *fip;
CharInfoRec *cip;
char *glyphPtr;
unsigned int charNum;
unsigned int glyphPad;
pCHARS(
FontInfoRec *fip,
CharInfoRec *cip,
char *glyphPtr,
unsigned int charNum,
unsigned int glyphPad)
{
CharInfoRec *wkp;
int i, j;
@ -1077,10 +1068,6 @@ unsigned int glyphPad;
for ( row = frow; row <= lrow; row++ ) {
for ( col = fcol; col <= lcol; col++ ) {
if ( wkp->exists == FALSE ) {
wkp++;
continue;
}
fprintf( stdout, "STARTCHAR %.2x%.2x\n", row,col );
fprintf( stdout, "ENCODING %d\n", (row << 8) + col );
fprintf( stdout, "SWIDTH 256 0\nDWIDTH %d %d\n",
@ -1111,24 +1098,23 @@ unsigned int glyphPad;
/*
* output to character information and patern
*
*/
static void
pfixCHARS(fip,cip,glyphPtr,charNum,glyphPad)
FontInfoRec *fip;
CharInfoRec *cip;
char *glyphPtr;
unsigned int charNum;
unsigned int glyphPad;
pfixCHARS(
FontInfoRec *fip,
CharInfoRec *cip,
char *glyphPtr,
unsigned int charNum,
unsigned int glyphPad)
{
CharInfoRec *wkp;
register int i, j, k;
int i, j, k;
unsigned int frow,lrow,fcol,lcol;
register int row, col;
int row, col;
unsigned int bbw, bbh, bbox, bboy;
unsigned int xd, yd;
unsigned int bml;
register char *glyph;
char *glyph;
char fixbuf[240], *fixbufp;
int fixdl;
@ -1162,10 +1148,6 @@ unsigned int glyphPad;
glyph = glyphPtr;
for ( row = frow; row <= lrow; row++ ) {
for ( col = fcol; col <= lcol; col++ ) {
if ( wkp->exists == FALSE ) {
wkp++;
continue;
}
bufp = buf;
memcpy(bufp,"STARTCHAR ",10);
bufp += 10;
@ -1199,9 +1181,9 @@ unsigned int glyphPad;
static void
putPtn( bits, width, height)
unsigned char *bits; /* 1 byte boundary , no byte swap data */
int width, height;
putPtn(unsigned char *bits, /* 1 byte boundary , no byte swap data */
int width,
int height)
{
int bytewidth;
int i, j;
@ -1218,9 +1200,7 @@ int width, height;
}
static void
ByteSwap( p, scan)
char *p;
int scan;
ByteSwap(char *p, int scan)
{
char w;
@ -1279,22 +1259,16 @@ static unsigned char _reverse_byte[0x100] = {
};
static void
BitOrderInvert(buf, nbytes)
register unsigned char *buf;
register int nbytes;
BitOrderInvert(unsigned char *buf, int nbytes)
{
register unsigned char *rev = _reverse_byte;
unsigned char *rev = _reverse_byte;
for (; --nbytes >= 0; buf++)
*buf = rev[*buf];
}
static void
invertBits( src, format, width, height, dest)
char *src;
CARD32 format;
int width, height;
char *dest;
invertBits(char *src, CARD32 format, int width, int height, char *dest)
{
int bit, byte, glyph, scan;
int src_bytewidth, dest_bytewidth;
@ -1328,9 +1302,7 @@ char *dest;
}
static void
pCHARS_pcf (pcf, fix)
PcfTmp *pcf;
int fix ;
pCHARS_pcf (PcfTmp *pcf, int fix)
{
char *bmp_ptn = NULL;
char *bitmap = NULL;
@ -1356,17 +1328,17 @@ int fix ;
nencoding = row_width * (pcf->info.lastRow - pcf->info.firstRow + 1);
if( fix == TRUE ) {
bmp_width = pcf->info.maxbounds.metrics.leftSideBearing
+ pcf->info.maxbounds.metrics.rightSideBearing ;
bmp_width = pcf->info.maxbounds.leftSideBearing
+ pcf->info.maxbounds.rightSideBearing ;
bmp_height = pcf->info.fontAscent + pcf->info.fontDescent ;
ptn_width = bmp_width ;
ptn_height = pcf->info.maxbounds.metrics.ascent +
pcf->info.maxbounds.metrics.descent;
ptn_height = pcf->info.maxbounds.ascent +
pcf->info.maxbounds.descent;
if (!(bmp_ptn = make_toptn( ptn_width, ptn_height)))
return;
if ( ( adj_hi = pcf->info.fontAscent - pcf->info.maxbounds.metrics.ascent ) > 0) {
if ( ( adj_hi = pcf->info.fontAscent - pcf->info.maxbounds.ascent ) > 0) {
width_bytes = 8 * PCF_GLYPH_PAD( pcf->bmp_fmt);
width_bytes = (( width_bytes + bmp_width - 1)/width_bytes) * PCF_GLYPH_PAD( pcf->bmp_fmt);
bmp_adj = width_bytes * adj_hi;
@ -1433,8 +1405,8 @@ int fix ;
fprintf( stdout,"BBX %d %d %d %d\nBITMAP\n", bbw, bbh, bbx, bby ) ;
if( fix == FALSE ) {
bmp_width = pcf->info.maxbounds.metrics.leftSideBearing
+ pcf->info.maxbounds.metrics.rightSideBearing ;
bmp_width = pcf->info.maxbounds.leftSideBearing
+ pcf->info.maxbounds.rightSideBearing ;
bmp_height = pcf->info.fontAscent + pcf->info.fontDescent ;
ptn_width = bbw ;
ptn_height = bbh ;
@ -1442,7 +1414,7 @@ int fix ;
if (!(bmp_ptn = make_toptn( ptn_width, ptn_height)))
return;
if ( ( adj_hi = pcf->info.fontAscent - pcf->info.maxbounds.metrics.ascent ) > 0) {
if ( ( adj_hi = pcf->info.fontAscent - pcf->info.maxbounds.ascent ) > 0) {
width_bytes = 8 * PCF_GLYPH_PAD( pcf->bmp_fmt);
width_bytes = (( width_bytes + bmp_width - 1)/width_bytes) * PCF_GLYPH_PAD( pcf->bmp_fmt);
bmp_adj = width_bytes * adj_hi;
@ -1486,8 +1458,7 @@ int fix ;
}
static char *
make_toptn( width, height)
int width, height;
make_toptn(int width, int height)
{
int byte_width;
@ -1500,16 +1471,16 @@ int width, height;
static int
getarg(argc,argv,fname,bitorder,byteorder,scanunit,glyphPad,outLevel,fix)
int argc;
char *argv[];
char *fname;
int *bitorder;
int *byteorder;
int *scanunit;
int *glyphPad;
int *outLevel;
int *fix;
getarg(
int argc,
char *argv[],
char *fname,
int *bitorder,
int *byteorder,
int *scanunit,
int *glyphPad,
int *outLevel,
int *fix)
{
int i;
int already;

View file

@ -57,27 +57,44 @@
#define START_CODE 0
#define END_CODE 1
static int CnvBDFtoGPF() ;
static int check_width() ;
static int check_height() ;
static int check_width_height() ;
static int check_code() ;
static int readBdfToMemory() ;
static void sigint_out() ;
static void put_error_and_exit();
static void put_help();
static void Usage();
static int CnvBDFtoGPF(struct btophead *head,
int num_gr,
FalGlyphRegion *gr,
int code_area);
static int check_width(char *prog_name, char *len_str);
static int check_height(char *prog_name, char *len_str);
static int check_width_height(char *prog_name, char *len_str, int mode);
static int check_code(char *prog_name,
char *code_str,
int mode,
char *charset,
int num_gr,
FalGlyphRegion *gr);
static int readBdfToMemory(struct btophead *head,
char *buf,
int num_gr,
FalGlyphRegion *gr,
int code_area);
static void sigint_out(void);
static void put_error_and_exit(struct btophead *btop,
int er_no,
char *prog_name);
static void put_help(char *prog_name);
static void Usage(char *prog_name);
extern int fal_code_to_glyph() ;
extern int fal_code_to_glyph(char *locale,
unsigned long codepoint,
FalGIInf **gi,
int *num_gi);
static struct btophead Head;
static char *locale ;
static char *spacing ;
static char *char_set ;
static char *locale;
static char *spacing;
static char *char_set;
static void
sigint_out()
sigint_out(void)
{
if ( Head.out_file ) {
unlink( Head.out_file );
@ -85,9 +102,7 @@ sigint_out()
exit( 0 );
}
main( argc, argv )
int argc;
char *argv[];
int main(int argc, char *argv[])
{
int help, code_area, fd[2], rtn, i;
struct stat st;
@ -412,11 +427,11 @@ char *argv[];
static int
CnvBDFtoGPF( head, num_gr, gr, code_area )
struct btophead *head;
int num_gr ;
FalGlyphRegion *gr ;
int code_area ;
CnvBDFtoGPF(
struct btophead *head,
int num_gr,
FalGlyphRegion *gr,
int code_area)
{
int rtn;
char bdfbuf[BUFSIZE];
@ -463,10 +478,7 @@ int code_area ;
static void
put_error_and_exit(btop, er_no, prog_name)
struct btophead *btop;
int er_no;
char *prog_name;
put_error_and_exit(struct btophead *btop, int er_no, char *prog_name)
{
ErrMsgTable_AndExit( er_no, btop->in_file, NULL,
NULL, btop->out_file,
@ -481,8 +493,7 @@ char *prog_name;
static void
put_help(prog_name)
char *prog_name;
put_help(char *prog_name)
{
USAGE1("Usage : %s -xlfd xlfd_name\n", prog_name);
USAGE("\t\t[-g character_size][-p character_pattern_file_name]\n");
@ -493,15 +504,14 @@ char *prog_name;
USAGE1("%s can extract glyphs in cpf file format in the following code area.\n", prog_name);
USAGE("codeset \t\tcode area\n");
USAGE("----------------------------------------\n");
DispUdcCpArea() ;
DispUdcCpArea(stdout) ;
USAGE("If the -start and -end option is omitted, the start/end code of each extractive area is specified.\n");
USAGE("The xlfd name and character size may be obtained using dtlsgpf command.\n");
return;
}
static void
Usage(prog_name)
char *prog_name;
Usage(char *prog_name)
{
put_help( prog_name );
exit(1);
@ -509,27 +519,21 @@ char *prog_name;
static int
check_width( prog_name, len_str )
char *prog_name;
char *len_str;
check_width(char *prog_name, char *len_str)
{
return( check_width_height( prog_name, len_str, 0) );
}
static int
check_height( prog_name, len_str )
char *prog_name;
char *len_str;
check_height(char *prog_name, char *len_str)
{
return( check_width_height( prog_name, len_str, 1) );
}
static int
check_width_height( prog_name, len_str, mode )
char *prog_name;
char *len_str;
int mode; /* width ... 0 , height ... 1 */
check_width_height(char *prog_name, char *len_str, int mode)
/* width ... 0 , height ... 1 */
{
int ret;
char *tmp;
@ -559,13 +563,13 @@ int mode; /* width ... 0 , height ... 1 */
static int
check_code( prog_name, code_str, mode, charset, num_gr, gr )
char *prog_name;
char *code_str;
int mode; /* start_code ... 0, end_code ... 1 */
char *charset ;
int num_gr ;
FalGlyphRegion *gr ;
check_code(
char *prog_name,
char *code_str,
int mode, /* start_code ... 0, end_code ... 1 */
char *charset,
int num_gr,
FalGlyphRegion *gr)
{
int err_flg = 0;
int code_num;
@ -628,12 +632,12 @@ FalGlyphRegion *gr ;
static int
readBdfToMemory(head, buf, num_gr, gr, code_area)
struct btophead *head;
char *buf;
int num_gr ;
FalGlyphRegion *gr ;
int code_area ;
readBdfToMemory(
struct btophead *head,
char *buf,
int num_gr,
FalGlyphRegion *gr,
int code_area)
{
int code, mwidth, num_char, bsize, rtn;
char *ptn;

View file

@ -39,23 +39,9 @@
#include "bdfgpf.h"
#include "udcutil.h"
static void dsp_info_list();
static void dsp_title();
static void dspinfo_1line();
static void disp_no_fontslist();
static void sort_offset_list() ;
static int sort_fontlist() ;
static void dsp_error_title() ;
static int dsp_error_files() ;
static void put_help();
static int search_fontfile_name() ;
static int get_new_target() ;
static char *utillocale ;
static char *fontdir ;
static char *command_name ;
static char *utillocale;
static char *fontdir;
static char *command_name;
typedef struct {
int num;
@ -82,10 +68,37 @@ typedef struct {
#define X_OPT (1<<3)
#define C_OPT (1<<4)
static void dsp_info_list(char *com,
int dspopt,
FalFontDataList *lst,
MISS_ENTRY *unknown_file_lst,
int *errflg);
static void dsp_title(FILE *fp, int dspopt);
static void dspinfo_1line(FalFontData data,
FILE *fp,
MISS_ENTRY *unknown_file_lst,
int offset,
int *errflg,
int dspopt);
static void disp_no_fontslist(int dspopt);
static void sort_offset_list(FalFontDataList *flist,
int mask,
int **sort_list,
int *data_cnt);
static int sort_fontlist(FalFontDataList *lst);
static void dsp_error_title(char *com, int *errflg, int dspopt);
static int dsp_error_files(FalFontDataList *lst, MISS_ENTRY *unknown);
static void put_help(char *prog_name);
static int search_fontfile_name(FalFontData data,
char *fname,
MISS_ENTRY *unknown_file_lst,
int offset,
int *errflg);
static int get_new_target(FalFontData *target, FalFontData *choose);
int
main( argc, argv )
int argc;
char *argv[];
main( int argc, char *argv[] )
{
FalFontDataList *lst_m; /* font information list struct */
FalFontData key; /* font reference information creation struct */
@ -221,12 +234,12 @@ char *argv[];
static void
dsp_info_list( com, dspopt, lst, unknown_file_lst, errflg )
char *com;
int dspopt;
FalFontDataList *lst;
MISS_ENTRY *unknown_file_lst;
int *errflg ;
dsp_info_list(
char *com,
int dspopt,
FalFontDataList *lst,
MISS_ENTRY *unknown_file_lst,
int *errflg)
{
FalFontDataList srt_lst;
int i, j ;
@ -428,10 +441,7 @@ int *errflg ;
static void
dsp_error_title(com, errflg, dspopt )
char *com;
int *errflg ;
int dspopt ;
dsp_error_title(char *com, int *errflg, int dspopt)
{
USAGE("\n\n" );
if( dspopt & A_OPT ) {
@ -452,9 +462,7 @@ int dspopt ;
static int
dsp_error_files( lst, unknown )
FalFontDataList *lst;
MISS_ENTRY *unknown;
dsp_error_files( FalFontDataList *lst, MISS_ENTRY *unknown )
{
int i,j;
int entry_start, entry_end;
@ -504,11 +512,11 @@ MISS_ENTRY *unknown;
static void
sort_offset_list( flist, mask, sort_list, data_cnt )
FalFontDataList *flist ;
int mask ;
int **sort_list ;
int *data_cnt ;
sort_offset_list(
FalFontDataList *flist,
int mask,
int **sort_list,
int *data_cnt)
{
int *size_offset_list ;
int cnt, i, j ;
@ -586,9 +594,7 @@ int *data_cnt ;
static void
dsp_title( fp, dspopt )
FILE *fp;
int dspopt ;
dsp_title( FILE *fp, int dspopt )
{
if( dspopt & L_OPT || dspopt & X_OPT ) {
fprintf(fp, "\n" ) ;
@ -611,13 +617,13 @@ int dspopt ;
static void
dspinfo_1line( data, fp, unknown_file_lst, offset, errflg, dspopt )
FalFontData data;
FILE *fp;
MISS_ENTRY *unknown_file_lst;
int offset ;
int *errflg ;
int dspopt ;
dspinfo_1line(
FalFontData data,
FILE *fp,
MISS_ENTRY *unknown_file_lst,
int offset,
int *errflg,
int dspopt)
{
int dsp_on ;
char *namep;
@ -682,16 +688,14 @@ int dspopt ;
static void
disp_no_fontslist( dspopt )
int dspopt ;
disp_no_fontslist( int dspopt )
{
fprintf( stdout, "\nThere are no fonts that are used for user defined character.\n" ) ;
}
static void
put_help( prog_name )
char *prog_name;
put_help( char *prog_name )
{
USAGE1("Usage : %s [-lax][-la][-lx][-C][-codeset number][-help]\n", prog_name);
USAGE("\t-l : display of file name and character size\n");
@ -707,12 +711,12 @@ char *prog_name;
static int
search_fontfile_name( data, fname, unknown_file_lst, offset, errflg )
FalFontData data ;
char *fname ;
MISS_ENTRY *unknown_file_lst;
int offset ;
int *errflg ;
search_fontfile_name(
FalFontData data,
char *fname,
MISS_ENTRY *unknown_file_lst,
int offset,
int *errflg)
{
FalFontID fid ;
FalFontDataList *flist ;
@ -797,11 +801,8 @@ int *errflg ;
return(0) ;
}
static int
sort_fontlist( lst )
FalFontDataList *lst;
sort_fontlist( FalFontDataList *lst )
{
int i,j;
FalFontDataList srt;
@ -853,9 +854,7 @@ FalFontDataList *lst;
/* no sort ... 0 */
static int
get_new_target( target, choose )
FalFontData *target;
FalFontData *choose;
get_new_target( FalFontData *target, FalFontData *choose )
{
FalFontData diff;
DEF_STR_CHK ;

View file

@ -34,21 +34,12 @@
#include "udccom.h" /* 1995.10.09 */
#include "FaLib.h"
typedef int INT;
typedef short int SHORT;
typedef long int LONG;
typedef char CHAR;
typedef unsigned int UINT;
typedef unsigned short USHORT;
typedef unsigned char UCHAR;
#define ON 1
#define OFF 0
#define MAXPTNSIZE 128
#define MAXPTNBYTE MAXPTNSIZE*((MAXPTNSIZE+7)/8)
#define ERROR_VAL fal_utyerror
#define EXISTS_FLAG fal_utyexists

View file

@ -209,12 +209,12 @@ typedef struct _FalGIInf {
#include <stdlib.h>
#include <dirent.h>
#ifdef Bool
#undef Bool
#ifdef Bool
#undef Bool
#endif
#include "snfstruct.h"
#include "fontstruct.h"
#include <X11/fonts/fontstruct.h>
#include "pcf.h"
struct pcf_inf {
@ -263,88 +263,66 @@ typedef Oak_FontInf * FalFontID; /* font distinction */
* function prototypes
*/
extern FalFontID FalOpenSysFont(
#if NeedFunctionPrototypes
FalFontData* /* open_font_data */,
int /* font_data_mask */,
FalFontDataList** /* missing_font_list_return */
#endif
) ;
extern int FalGetFontList(
#if NeedFunctionPrototypes
FalFontData* /* key_data */,
int /* mask */,
FalFontDataList** /* list_ret */
#endif
) ;
extern int FalFreeFontList(
#if NeedFunctionPrototypes
FalFontDataList* /* list */
#endif
) ;
extern char *
FalReadFont(
#if NeedFunctionPrototypes
FalFontID /* fid */ ,
int /* code */ ,
int /* width */ ,
int /* height */
#endif
) ;
extern int FalQueryFont(
#if NeedFunctionPrototypes
FalFontID /* fid */ ,
FalFontinfo* /* fontinfo */
#endif
) ;
extern int FalFontOfFontID(
#if NeedFunctionPrototypes
FalFontID /* fid */,
FalFontData* /* fontdata */
#endif
) ;
extern int FalCloseFont(
#if NeedFunctionPrototypes
FalFontID /* fid */
#endif
) ;
extern int FalFontIDToFileName(
#if NeedFunctionPrototypes
FalFontID /* fid */ ,
char** /* file_name */
#endif
) ;
extern int FalFree(
#if NeedFunctionPrototypes
void* /* list */
#endif
) ;
extern int FalGetUDCCPArea(
#if NeedFunctionPrototypes
char* /* locale */ ,
int /* code_set */ ,
char* /* charset_str */ ,
FalCodeRegion** /* cr */ ,
int* /* num_cr */
#endif
) ;
extern int FalGetUDCGIArea(
#if NeedFunctionPrototypes
char* /* locale */ ,
int /* codeset */ ,
char* /* charset_str */ ,
FalGlyphRegion** /* gr */ ,
int* /* num_gr */
#endif
) ;
extern FalFontID FalOpenFont() ;

View file

@ -29,6 +29,7 @@
*/
#include "udccom.h"
#include "FaLib.h"
struct btophead {
char *in_file;
@ -68,17 +69,17 @@ struct ptobhead {
int bdf_width;
int bdf_height;
int bdf_x;
int bdf_y;
int bdf_x;
int bdf_y;
float bdf_point;
int bdf_xdpi;
int reserve ;
int reserve ;
int *code;
char **ptn;
int zoomf;
int code_category;
int code_category;
int start_code;
int end_code;
@ -234,287 +235,212 @@ extern char *bdftopcf;
* Function prototypes
*/
extern int falcom_atoi(
#if NeedFunctionPrototypes
char* /* str */,
char /* ed_cod */,
int* /* val */
#endif
);
extern int GetDefaultFile(
#if NeedFunctionPrototypes
int /* size */,
char* /* style */,
char* /* fname */
#endif
);
extern int get_default_file(
#if NeedFunctionPrototypes
FILE* /* fp */,
int /* size */,
char* /* style */,
char* /* fname */
#endif
);
extern char *falcom_get_base_name(
#if NeedFunctionPrototypes
char* /* str */
#endif
);
extern int GetFileName(
#if NeedFunctionPrototypes
char* /* com */,
char* /* size_str */,
char* /* style */,
int /* codeset */,
char* /* ofile */
#endif
);
extern void ErrMsgTable_FalGetFontList(
#if NeedFunctionPrototypes
char* /* com */,
int /* utyerr */,
int /* utyderr */
#endif
);
extern void fal_cut_tailslash(
#if NeedFunctionPrototypes
char* /* name */
#endif
);
extern char *GetRealFileName(
#if NeedFunctionPrototypes
char* /* name */
#endif
);
extern int IsInRegion(
#if NeedFunctionPrototypes
int /* code */,
int /* num_gr */,
FalGlyphRegion* /* gr */
#endif
);
extern int GetUdcFileName(
#if NeedFunctionPrototypes
char* /* com */,
int /* code_no */,
char* /* xlfdname */,
char* /* fname */
#endif
);
extern int GetUdcRegion(
#if NeedFunctionPrototypes
char* /* com */,
int /* codeset */,
char* /* gpf_file */,
int* /* num_gr */,
FalGlyphRegion** /* gr */
#endif
);
extern int DispUdcCpArea(
#if NeedFunctionPrototypes
FILE* /* fp */
#endif
);
extern int GetUdcFontName(
#if NeedFunctionPrototypes
char* /* gpf_file */,
char* /* bdf_file */,
char** /* fontname */
#endif
);
extern int FileLock(
#if NeedFunctionPrototypes
int /* fd */
#endif
);
extern int FileUnLock(
#if NeedFunctionPrototypes
int /* fd */
#endif
);
extern int isLock(
#if NeedFunctionPrototypes
int /* fd */
#endif
);
extern int ReadBdfHeader(
#if NeedFunctionPrototypes
struct btophead* /* head */,
char* /* buf */
#endif
);
extern int ReadGpfHeader(
#if NeedFunctionPrototypes
struct ptobhead* /* head */,
char* /* buf */
#endif
);
extern int WriteBdfHeader(
#if NeedFunctionPrototypes
struct ptobhead* /* head */
#endif
);
extern void WriteGpfHeader(
#if NeedFunctionPrototypes
struct btophead* /* head */
#endif
);
extern int WritePtnToBdf(
#if NeedFunctionPrototypes
struct ptobhead* /* head */
#endif
);
extern int putDefaultChars(
#if NeedFunctionPrototypes
struct ptobhead* /* head */
#endif
);
extern int WritePtnToGpf(
#if NeedFunctionPrototypes
struct btophead* /* head */
#endif
);
extern int ReadBdfToMemory(
#if NeedFunctionPrototypes
struct btophead* /* head */,
char* /* buf */
#endif
);
extern int ReadBdfToMemory_with_init(
#if NeedFunctionPrototypes
struct btophead* /* head */,
int /* init_start */,
int /* init_end */,
char* /* buf */
#endif
);
extern int GetBdfCode(
#if NeedFunctionPrototypes
struct btophead* /* head */,
char* /* buf */,
int* /* code */
#endif
);
extern int GetBdfPtn(
#if NeedFunctionPrototypes
struct btophead* /* head */,
char* /* buf */,
char* /* ptn */,
int /* mwidth */,
int /* bsize */
#endif
);
extern int ReadGpfToMemory(
#if NeedFunctionPrototypes
struct ptobhead* /* head */,
char* /* buf */
#endif
);
extern int GetGpfCode(
#if NeedFunctionPrototypes
struct ptobhead* /* head */,
char* /* buf */,
int* /* code */
#endif
);
extern int GetGpfPtn(
#if NeedFunctionPrototypes
struct ptobhead* /* head */,
char* /* buf */,
char* /* ptn */,
int /* mwidth */,
int /* bsize */
#endif
);
extern void GetBdfLinePtn(
#if NeedFunctionPrototypes
char* /* mem */,
char* /* buf */,
int /* width */
#endif
);
extern void GetGpfLinePtn(
#if NeedFunctionPrototypes
char* /* mem */,
char* /* buf */,
int /* width */
#endif
);
extern int PutBdfPtn(
#if NeedFunctionPrototypes
unsigned char* /* ptn */,
int /* width */,
int /* height */,
FILE* /* fp */
#endif
);
extern int PutGpfPtn(
#if NeedFunctionPrototypes
char* /* ptn */,
int /* width */,
int /* height */,
FILE* /* fp */
#endif
);
extern int PtnZoom(
#if NeedFunctionPrototypes
char* /* dmem */,
char* /* smem */,
int /* sw */,
int /* sh */,
int /* dw */,
int /* dh */
#endif
);
extern char *GetTmpPath(
#if NeedFunctionPrototypes
char* /* path */
#endif
);
extern int ChkNumString(
#if NeedFunctionPrototypes
char* /* str */
#endif
);
extern void ErrMsgTable_AndExit(
#if NeedFunctionPrototypes
int /* er_no */,
char* /* snf_in */,
char* /* snf_out */,
@ -522,95 +448,72 @@ extern void ErrMsgTable_AndExit(
char* /* gpf_out */,
char* /* bdf_in */,
char* /* prog_name */
#endif
);
extern void fatal_err_msg(
#if NeedFunctionPrototypes
int /* er_no */,
char* /* prog_name */
#endif
);
extern void ChatchSig() ;
extern void Put_File_Create_Err_Msg(
#if NeedFunctionPrototypes
int /* msg_level */,
char* /* org_name */,
char* /* tmp_name */,
char* /* save_name */,
char* /* com */
#endif
);
extern int Make_NewFefFile(
#if NeedFunctionPrototypes
char* /* org_name */,
char* /* tmp_name */,
mode_t /* mode */,
uid_t /* owner */,
gid_t /* group */,
char* /* com */
#endif
);
extern int Unlink_Tmpfile(
#if NeedFunctionPrototypes
char* /* file */,
char* /* com */
#endif
);
extern int Chmod_File (
#if NeedFunctionPrototypes
char* /* fname */,
mode_t /* mode */,
char* /* com */
#endif
);
extern int Chown_File (
#if NeedFunctionPrototypes
char* /* fname */,
uid_t /* owner */,
gid_t /* group */,
char* /* com */
#endif
);
extern int ChkPcfFontFile(
#if NeedFunctionPrototypes
char* /* filename */
#endif
);
extern int ChkSnfFontFile(
#if NeedFunctionPrototypes
char* /* filename */
#endif
);
extern char *get_cmd_path(
#if NeedFunctionPrototypes
char* /* path */,
char* /* cmd */
#endif
);
extern int SetCmdPath(
#if NeedFunctionPrototypes
char* /* com */,
char** /* path */,
char* /* dflt_path */,
char* /* cmd */
#endif
);
extern int
Link_NewFile(
#if NeedFunctionPrototypes
char * /* rd_file */,
char * /* wr_file */
#endif
) ;
);

View file

@ -51,8 +51,7 @@ This is unpublished proprietary source code of FUJITSU LIMITED
******************************************************************/
#ifndef SNFSTRUCT_H
#define SNFSTRUCT_H 1
#include "font.h"
#include "misc.h"
#include <X11/fonts/font.h>
#include <X11/Xlib.h>
/*
@ -87,12 +86,6 @@ This is unpublished proprietary source code of FUJITSU LIMITED
#define FONT_FILE_VERSION 4
typedef struct _FontProp {
CARD32 name; /* offset of string */
INT32 value; /* number or offset of string */
Bool indirect; /* value is a string offset */
} FontPropRec;
/*
* the following macro definitions describe a font file image in memory
*/
@ -106,7 +99,7 @@ typedef struct _FontProp {
* pad out glyphs to a CARD32 boundary
*/
#define ADDRXFONTPROPS( pfi) \
((DIXFontProp *) ((char *)ADDRCHARGLYPHS( pfi) + BYTESOFGLYPHINFO(pfi)))
((DIXFontProp *) (char *)ADDRCHARGLYPHS( pfi))
#define ADDRSTRINGTAB( pfi) \
((char *)ADDRXFONTPROPS( pfi) + BYTESOFPROPINFO(pfi))
@ -115,7 +108,7 @@ typedef struct _FontProp {
#define BYTESOFCHARINFO(pfi) (sizeof(CharInfoRec) * n2dChars(pfi))
#define BYTESOFPROPINFO(pfi) (sizeof(FontPropRec) * (pfi)->nProps)
#define BYTESOFSTRINGINFO(pfi) ((pfi)->lenStrings)
#define BYTESOFGLYPHINFO(pfi) (((pfi)->maxbounds.byteOffset+3) & ~0x3)
#define BYTESOFINKINFO(pfi) (sizeof(CharInfoRec) * (2 + n2dChars(pfi)))
#endif /* SNFSTRUCT_H */

View file

@ -45,16 +45,6 @@
snprintf( (buf), sizeof((buf)), " -i " ) ; \
snprintf( (command), sizeof((command)), "%s %s > %s", bdftosnf, (buf), (out_file) ); \
}
#define COMM_SNF_FILEVERSION( snf_fd, finf, buf, permission ) { \
read( (snf_fd), (buf), sizeof(FontInfoRec) ); \
close( (snf_fd) ); \
(finf) = (FontInfoRec *) (buf) ; \
if( \
((finf)->version1 != FONT_FILE_VERSION) || \
((finf)->version2 != FONT_FILE_VERSION) \
) \
(permission) = -1 ; \
}
#define COMM_SNF_NEWTARGET( permission ) (permission) = 0
#define COMM_SNF_EXECLBDFTOSNF( permission, buf, snf_file ) { \
execl( bdftosnf, bdftosnf, "-i", 0 ); \
@ -69,20 +59,8 @@
/* case of a snf former font */
#define FAL_GET_SNF_HEADER( buf, protect_key_data, fal_utyerror, fal_utyderror, fd, finf, openfontfile ) { \
(finf)->pFinf = ( FontInfoPtr )(buf); \
if ( \
((finf)->pFinf->version1 != (finf)->pFinf->version2) || \
((finf)->pFinf->version1 != FONT_FILE_VERSION) \
) { \
set_errfile_str( fal_err_file, (openfontfile) ) ; \
(fal_utyerror) = _FAL_FONT_ER; \
(fal_utyderror) = 0; \
fal_utyerrno = FAL_ERR_FONT ; \
fal_utyerrno |= (FAL_FUNCNUM_OPNFNT<<8) ; \
goto FalError01 ; \
} else { \
(finf)->isFef = TRUE ; \
(finf)->isPcf = FALSE; \
} \
}
/* falReadGpfProp() */
@ -90,12 +68,6 @@
(finf)->isFef = TRUE; \
(finf)->isPcf = FALSE; \
(finf)->pFinf = ( FontInfoPtr )(finf)->buf ; \
if ( /* not a snf or fef format */ \
((finf)->pFinf->version1 != (finf)->pFinf->version2) || \
((finf)->pFinf->version1 != FONT_FILE_VERSION) \
) { \
return _FAL_TRY_NEXT ; \
} \
}
#define ISOPTFONT( file ) 1

View file

@ -136,8 +136,7 @@ static XrmQuark nextUniq = -1; /* next quark from falrmUniqueQuark */
static char *neverFreeTable = NULL;
static int neverFreeTableSize = 0;
static char *permalloc(length)
register unsigned int length;
static char *permalloc(unsigned int length)
{
char *ret;
@ -155,16 +154,13 @@ static char *permalloc(length)
return(ret);
}
#ifndef WORD64
typedef struct {char a; double b;} TestType1;
typedef struct {char a; unsigned long b;} TestType2;
#endif
#ifdef XTHREADS
static char *_falpermalloc();
char *falpermalloc(length)
unsigned int length;
char *falpermalloc(unsigned int length)
{
char *p;
@ -177,13 +173,11 @@ char *falpermalloc(length)
static
#endif /* XTHREADS */
char *falpermalloc(length)
unsigned int length;
char *falpermalloc(unsigned int length)
{
int i;
if (neverFreeTableSize && length < NEVERFREETABLESIZE) {
#ifndef WORD64
if ((sizeof(TestType1) !=
(sizeof(TestType2) - sizeof(unsigned long) + sizeof(double))) &&
!(length & (DALIGN-1)) &&
@ -191,7 +185,6 @@ char *falpermalloc(length)
neverFreeTableSize -= DALIGN - i;
neverFreeTable += DALIGN - i;
} else
#endif
if (i = (NEVERFREETABLESIZE - neverFreeTableSize) & (WALIGN-1)) {
neverFreeTableSize -= WALIGN - i;
neverFreeTable += WALIGN - i;
@ -201,13 +194,13 @@ char *falpermalloc(length)
}
static Bool
ExpandQuarkTable()
ExpandQuarkTable(void)
{
unsigned long oldmask, newmask;
register char c, *s;
register Entry *oldentries, *entries;
register Entry entry;
register int oldidx, newidx, rehash;
char c, *s;
Entry *oldentries, *entries;
Entry entry;
int oldidx, newidx, rehash;
Signature sig;
XrmQuark q;
@ -266,42 +259,41 @@ ExpandQuarkTable()
return True;
}
#if NeedFunctionPrototypes
XrmQuark _falrmInternalStringToQuark(
register _Xconst char *name, register int len, register Signature sig,
Bool permstring)
#else
XrmQuark _falrmInternalStringToQuark(name, len, sig, permstring)
register XrmString name;
register int len;
register Signature sig;
Bool permstring;
#endif
const char *name, int len, Signature sig, Bool permstring)
{
register XrmQuark q;
register Entry entry;
register int idx, rehash;
register int i;
register char *s1, *s2;
XrmQuark q;
Entry entry;
int idx;
int rehash = 0;
int i;
char *s1, *s2;
char *new;
rehash = 0;
idx = HASH(sig);
_XLockMutex(_Xglobal_lock);
while (entry = quarkTable[idx]) {
if (entry & LARGEQUARK)
q = entry & (LARGEQUARK-1);
else {
if ((entry - sig) & XSIGMASK)
goto nomatch;
if ((entry - sig) & XSIGMASK){
if (!rehash)
rehash = REHASHVAL(sig);
idx = REHASH(idx, rehash);
continue;
}
q = (entry >> QUARKSHIFT) & QUARKMASK;
}
for (i = len, s1 = (char *)name, s2 = NAME(q); --i >= 0; ) {
if (*s1++ != *s2++)
goto nomatch;
if (*s1++ != *s2++){
if (!rehash)
rehash = REHASHVAL(sig);
idx = REHASH(idx, rehash);
continue;
}
}
if (*s2) {
nomatch: if (!rehash)
if (!rehash)
rehash = REHASHVAL(sig);
idx = REHASH(idx, rehash);
continue;
@ -316,11 +308,15 @@ nomatch: if (!rehash)
_XUnlockMutex(_Xglobal_lock);
return q;
}
if (nextUniq == nextQuark)
goto fail;
if (nextUniq == nextQuark){
_XUnlockMutex(_Xglobal_lock);
return NULLQUARK;
}
if ((nextQuark + (nextQuark >> 2)) > quarkMask) {
if (!ExpandQuarkTable())
goto fail;
if (!ExpandQuarkTable()){
_XUnlockMutex(_Xglobal_lock);
return NULLQUARK;
}
_XUnlockMutex(_Xglobal_lock);
return _falrmInternalStringToQuark(name, len, sig, permstring);
}
@ -329,20 +325,26 @@ nomatch: if (!rehash)
if (!(q & CHUNKMASK)) {
if (!(new = Xrealloc((char *)stringTable,
sizeof(XrmString *) *
((q >> QUANTUMSHIFT) + CHUNKPER))))
goto fail;
((q >> QUANTUMSHIFT) + CHUNKPER)))){
_XUnlockMutex(_Xglobal_lock);
return NULLQUARK;
}
stringTable = (XrmString **)new;
#ifdef PERMQ
if (!(new = Xrealloc((char *)permTable,
sizeof(Bits *) *
((q >> QUANTUMSHIFT) + CHUNKPER))))
goto fail;
((q >> QUANTUMSHIFT) + CHUNKPER)))){
_XUnlockMutex(_Xglobal_lock);
return NULLQUARK;
}
permTable = (Bits **)new;
#endif
}
new = falpermalloc(QUANTSIZE);
if (!new)
goto fail;
if (!new){
_XUnlockMutex(_Xglobal_lock);
return NULLQUARK;
}
stringTable[q >> QUANTUMSHIFT] = (XrmString *)new;
#ifdef PERMQ
permTable[q >> QUANTUMSHIFT] = (Bits *)(new + STRQUANTSIZE);
@ -355,8 +357,10 @@ nomatch: if (!rehash)
#else
name = permalloc(len+1);
#endif
if (!name)
goto fail;
if (!name){
_XUnlockMutex(_Xglobal_lock);
return NULLQUARK;
}
for (i = len, s1 = (char *)name; --i >= 0; )
*s1++ = *s2++;
*s1++ = '\0';
@ -376,21 +380,12 @@ nomatch: if (!rehash)
nextQuark++;
_XUnlockMutex(_Xglobal_lock);
return q;
fail:
_XUnlockMutex(_Xglobal_lock);
return NULLQUARK;
}
#if NeedFunctionPrototypes
XrmQuark falrmStringToQuark(
_Xconst char *name)
#else
XrmQuark falrmStringToQuark(name)
XrmString name;
#endif
XrmQuark falrmStringToQuark(const char *name)
{
register char c, *tname;
register Signature sig = 0;
char c, *tname;
Signature sig = 0;
if (!name)
return (NULLQUARK);
@ -401,16 +396,11 @@ XrmQuark falrmStringToQuark(name)
return _falrmInternalStringToQuark(name, tname-(char *)name-1, sig, False);
}
#if NeedFunctionPrototypes
XrmQuark falrmPermStringToQuark(
_Xconst char *name)
#else
XrmQuark falrmPermStringToQuark(name)
XrmString name;
#endif
const char *name)
{
register char c, *tname;
register Signature sig = 0;
char c, *tname;
Signature sig = 0;
if (!name)
return (NULLQUARK);
@ -421,7 +411,7 @@ XrmQuark falrmPermStringToQuark(name)
return _falrmInternalStringToQuark(name, tname-(char *)name-1, sig, True);
}
XrmQuark falrmUniqueQuark()
XrmQuark falrmUniqueQuark(void)
{
XrmQuark q;
@ -434,8 +424,7 @@ XrmQuark falrmUniqueQuark()
return q;
}
XrmString falrmQuarkToString(quark)
register XrmQuark quark;
XrmString falrmQuarkToString(XrmQuark quark)
{
XrmString s;

View file

@ -88,26 +88,10 @@ from the X Consortium.
#ifdef X_LOCALE
/* alternative setlocale() for when the OS does not provide one */
#ifdef X_NOT_STDC_ENV
extern char *getenv();
#endif
#define MAXLOCALE 64 /* buffer size of locale name */
#if NeedFunctionPrototypes
char *
_falsetlocale(
int category,
_Xconst char *name
)
#else
char *
_falsetlocale(category, name)
int category;
char *name;
#endif
_falsetlocale(int category, const char *name)
{
static char *xsl_name;
char *old_name;
@ -157,49 +141,32 @@ _falsetlocale(category, name)
*/
char *
_fallcMapOSLocaleName(osname, siname)
char *osname;
char *siname;
_fallcMapOSLocaleName(char *osname, char *siname)
{
#if defined(hpux) || defined(CSRG_BASED) || defined(sun) || defined(SVR4) || defined(sgi) || defined(AIXV3) || defined(ultrix) || defined(WIN32)
#if defined(hpux) || defined(CSRG_BASED) || defined(sun) || defined(SVR4) || \
defined(WIN32)
#ifdef hpux
#define SKIPCOUNT 2
#define STARTCHAR ':'
#define ENDCHAR ';'
#else
#ifdef ultrix
#define SKIPCOUNT 2
#define STARTCHAR '\001'
#define ENDCHAR '\001'
#else
#ifdef WIN32
#elif defined(WIN32)
#define SKIPCOUNT 1
#define STARTCHAR '='
#define ENDCHAR ';'
#define WHITEFILL
#else
#if defined(AIXV3)
#define STARTCHAR ' '
#define ENDCHAR ' '
#else
#if !defined(sun) || defined(SVR4)
#elif !defined(sun) || defined(SVR4)
#define STARTCHAR '/'
#endif
#define ENDCHAR '/'
#endif
#endif
#endif
#endif
char *start;
char *end;
int len;
#ifdef SKIPCOUNT
int n;
#endif
start = osname;
#ifdef SKIPCOUNT
int = n;
for (n = SKIPCOUNT;
--n >= 0 && start && (start = strchr (start, STARTCHAR));
start++)

View file

@ -95,17 +95,6 @@ static CTDataRec default_ct_data[] =
{ "JISX0208.1983-0:GR", "\033$)B" },
{ "KSC5601.1987-0:GL", "\033$(C" },
{ "KSC5601.1987-0:GR", "\033$)C" },
#ifdef notdef
{ "JISX0212.1990-0:GL", "\033$(D" },
{ "JISX0212.1990-0:GR", "\033$)D" },
{ "CNS11643.1986-1:GL", "\033$(G" },
{ "CNS11643.1986-1:GR", "\033$)G" },
{ "CNS11643.1986-2:GL", "\033$(H" },
{ "CNS11643.1986-2:GR", "\033$)H" },
/* Non-Standard Character Set Encodings */
{ "TIS620.2533-1:GR", "\033-T"},
#endif
} ;
#define XctC0 0x0000
@ -154,11 +143,9 @@ typedef struct {
static CTInfo ct_list = NULL;
static CTInfo
_XlcGetCTInfoFromEncoding(encoding, length)
register char *encoding;
register int length;
_XlcGetCTInfoFromEncoding(char *encoding, int length)
{
register CTInfo ct_info;
CTInfo ct_info;
for (ct_info = ct_list; ct_info; ct_info = ct_info->next) {
if (length >= ct_info->encoding_len) {
@ -178,14 +165,11 @@ _XlcGetCTInfoFromEncoding(encoding, length)
}
static unsigned int
_XlcParseCT(parse, text, length)
register CTParse parse;
char **text;
int *length;
_XlcParseCT(CTParse parse, char **text, int *length)
{
unsigned int ret = 0;
unsigned char ch;
register unsigned char *str = (unsigned char *) *text;
unsigned char *str = (unsigned char *) *text;
bzero((char *) parse, sizeof(CTParseRec));
@ -209,7 +193,9 @@ _XlcParseCT(parse, text, length)
parse->ext_seg_length = (*str - 128) * 128 + *(str + 1) - 128;
str += 2;
goto done;
*length -= (char *) str - *text;
*text = (char *) str;
return ret;
} else if (*str == XctCntrlFunc && *length >= 4 &&
*(str + 1) >= 0x20 && *(str + 1) <= 0x2f &&
(*(str + 2) == XctIgnoreExt ||
@ -220,7 +206,9 @@ _XlcParseCT(parse, text, length)
parse->version = *str++ - 0x20;
ret = *str++;
goto done;
*length -= (char *) str - *text;
*text = (char *) str;
return ret;
}
if (*str == XctMB) { /* multiple-byte sets */
@ -276,21 +264,29 @@ _XlcParseCT(parse, text, length)
parse->ct_info = _XlcGetCTInfoFromEncoding(*text, *length);
}
str++;
goto done;
*length -= (char *) str - *text;
*text = (char *) str;
return ret;
case XctCSI:
/* direction */
if (*str == XctLeftToRight && *(str + 1) == XctDirection) {
ret = XctLeftToRight;
str += 2;
goto done;
*length -= (char *) str - *text;
*text = (char *) str;
return ret;
} else if (*str == XctRightToLeft && *(str + 1) == XctDirection) {
ret = XctRightToLeft;
str += 2;
goto done;
*length -= (char *) str - *text;
*text = (char *) str;
return ret;
} else if (*str == XctDirectionEnd) {
ret = XctDirectionEnd;
str++;
goto done;
*length -= (char *) str - *text;
*text = (char *) str;
return ret;
}
SKIP_P(str)
@ -301,7 +297,9 @@ _XlcParseCT(parse, text, length)
ret = XctCSISeq;
str++;
goto done;
*length -= (char *) str - *text;
*text = (char *) str;
return ret;
}
if (ch & 0x80) {
@ -318,19 +316,11 @@ _XlcParseCT(parse, text, length)
ret = XctGL;
}
return ret;
done:
*length -= (char *) str - *text;
*text = (char *) str;
return ret;
}
XlcCharSet
_fallcAddCT(name, encoding)
char *name;
char *encoding;
_fallcAddCT(char *name, char *encoding)
{
CTInfo ct_info;
XlcCharSet charset;
@ -381,10 +371,9 @@ _fallcAddCT(name, encoding)
}
static CTInfo
_XlcGetCTInfoFromCharSet(charset)
register XlcCharSet charset;
_XlcGetCTInfoFromCharSet(XlcCharSet charset)
{
register CTInfo ct_info;
CTInfo ct_info;
for (ct_info = ct_list; ct_info; ct_info = ct_info->next)
if (ct_info->charset == charset)
@ -394,8 +383,7 @@ _XlcGetCTInfoFromCharSet(charset)
}
Bool
_fallcParseCharSet(charset)
XlcCharSet charset;
_fallcParseCharSet(XlcCharSet charset)
{
CTParseRec parse;
char *ptr, buf[BUFSIZ];
@ -434,11 +422,11 @@ _fallcParseCharSet(charset)
static void init_converter();
Bool
_fallcInitCTInfo()
_fallcInitCTInfo(void)
{
register XlcCharSet charset;
register CTData ct_data;
register int num;
XlcCharSet charset;
CTData ct_data;
int num;
if (ct_list == NULL) {
num = sizeof(default_ct_data) / sizeof(CTDataRec);
@ -455,10 +443,7 @@ _fallcInitCTInfo()
static int
_XlcCheckCTSequence(state, ctext, ctext_len)
State state;
char **ctext;
int *ctext_len;
_XlcCheckCTSequence(State state, char **ctext, int *ctext_len)
{
XlcCharSet charset;
CTParseRec parse;
@ -493,8 +478,7 @@ _XlcCheckCTSequence(state, ctext, ctext_len)
static void
init_state(conv)
XlcConv conv;
init_state(XlcConv conv)
{
State state = (State) conv->state;
static XlcCharSet GL_charset = NULL;
@ -512,17 +496,17 @@ init_state(conv)
}
static int
cttocs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
cttocs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
register State state = (State) conv->state;
register unsigned char ch;
State state = (State) conv->state;
unsigned char ch;
int length;
XlcCharSet charset = NULL;
char *ctptr, *bufptr;
@ -600,19 +584,18 @@ cttocs(conv, from, from_left, to, to_left, args, num_args)
}
static int
cstoct(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
cstoct(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
State state = (State) conv->state;
XlcSide side;
unsigned char min_ch, max_ch;
register unsigned char ch;
unsigned char min_ch, max_ch, ch;
int length;
CTInfo ct_info;
XlcCharSet charset;
@ -711,19 +694,19 @@ cstoct(conv, from, from_left, to, to_left, args, num_args)
}
static int
strtocs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
strtocs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
State state = (State) conv->state;
register char *src, *dst;
char *src, *dst;
unsigned char side;
register length;
int length;
src = (char *) *from;
dst = (char *) *to;
@ -746,14 +729,14 @@ strtocs(conv, from, from_left, to, to_left, args, num_args)
}
static int
cstostr(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
cstostr(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
State state = (State) conv->state;
char *csptr, *string_ptr;
@ -792,8 +775,7 @@ cstostr(conv, from, from_left, to, to_left, args, num_args)
static void
close_converter(conv)
XlcConv conv;
close_converter(XlcConv conv)
{
if (conv->state)
Xfree((char *) conv->state);
@ -802,29 +784,25 @@ close_converter(conv)
}
static XlcConv
create_conv(methods)
XlcConvMethods methods;
create_conv(XlcConvMethods methods)
{
register XlcConv conv;
XlcConv conv;
conv = (XlcConv) Xmalloc(sizeof(XlcConvRec));
if (conv == NULL)
return (XlcConv) NULL;
conv->state = (XPointer) Xmalloc(sizeof(StateRec));
if (conv->state == NULL)
goto err;
if (conv->state == NULL) {
close_converter(conv);
return (XlcConv) NULL;
}
conv->methods = methods;
init_state(conv);
return conv;
err:
close_converter(conv);
return (XlcConv) NULL;
}
static XlcConvMethodsRec cttocs_methods = {
@ -834,11 +812,7 @@ static XlcConvMethodsRec cttocs_methods = {
} ;
static XlcConv
open_cttocs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_cttocs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(&cttocs_methods);
}
@ -850,11 +824,7 @@ static XlcConvMethodsRec cstoct_methods = {
} ;
static XlcConv
open_cstoct(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_cstoct(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(&cstoct_methods);
}
@ -866,11 +836,7 @@ static XlcConvMethodsRec strtocs_methods = {
} ;
static XlcConv
open_strtocs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_strtocs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(&strtocs_methods);
}
@ -882,17 +848,13 @@ static XlcConvMethodsRec cstostr_methods = {
} ;
static XlcConv
open_cstostr(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_cstostr(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(&cstostr_methods);
}
static void
init_converter()
init_converter(void)
{
_fallcSetConverter((XLCd) NULL, XlcNCompoundText, (XLCd) NULL, XlcNCharSet,
open_cttocs);

View file

@ -51,15 +51,8 @@
#include "_fallibint.h"
#include "_fallcPublic.h"
#if NeedVarargsPrototypes
char *
_fallcGetCSValues(XlcCharSet charset, ...)
#else
char *
_fallcGetCSValues(charset, va_alist)
XlcCharSet charset;
va_dcl
#endif
{
va_list var;
XlcArgList args;
@ -95,8 +88,7 @@ typedef struct _XlcCharSetListRec {
static XlcCharSetList charset_list = NULL;
XlcCharSet
_fallcGetCharSet(name)
char *name;
_fallcGetCharSet(char *name)
{
XlcCharSetList list;
XrmQuark xrm_name;
@ -112,8 +104,7 @@ _fallcGetCharSet(name)
}
Bool
_fallcAddCharSet(charset)
XlcCharSet charset;
_fallcAddCharSet(XlcCharSet charset)
{
XlcCharSetList list;
@ -147,10 +138,7 @@ static XlcResource resources[] = {
};
static char *
get_values(charset, args, num_args)
register XlcCharSet charset;
register XlcArgList args;
register int num_args;
get_values(XlcCharSet charset, XlcArgList args, int num_args)
{
if (resources[0].xrm_name == NULLQUARK)
_fallcCompileResourceList(resources, XlcNumber(resources));
@ -160,9 +148,7 @@ get_values(charset, args, num_args)
}
XlcCharSet
_fallcCreateDefaultCharSet(name, ct_sequence)
char *name;
char *ct_sequence;
_fallcCreateDefaultCharSet(char *name, char *ct_sequence)
{
XlcCharSet charset;

View file

@ -67,20 +67,19 @@ typedef struct _fallcConverterListRec {
static XlcConverterList conv_list = NULL;
static void
close_converter(conv)
XlcConv conv;
close_converter(XlcConv conv)
{
(*conv->methods->close)(conv);
}
static XlcConv
get_converter(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
XrmQuark from_type;
XLCd to_lcd;
XrmQuark to_type;
get_converter(
XLCd from_lcd,
XrmQuark from_type,
XLCd to_lcd,
XrmQuark to_type)
{
register XlcConverterList list, prev = NULL;
XlcConverterList list, prev = NULL;
XlcConv conv;
for (list = conv_list; list; list = list->next) {
@ -103,15 +102,15 @@ get_converter(from_lcd, from_type, to_lcd, to_type)
}
Bool
_fallcSetConverter(from_lcd, from, to_lcd, to, converter)
XLCd from_lcd;
char *from;
XLCd to_lcd;
char *to;
XlcOpenConverterProc converter;
_fallcSetConverter(
XLCd from_lcd,
char *from,
XLCd to_lcd,
char *to,
XlcOpenConverterProc converter)
{
register XlcConverterList list;
register XrmQuark from_type, to_type;
XlcConverterList list;
XrmQuark from_type, to_type;
from_type = falrmStringToQuark(from);
to_type = falrmStringToQuark(to);
@ -148,14 +147,14 @@ typedef struct _ConvRec {
} ConvRec, *Conv;
static int
indirect_convert(lc_conv, from, from_left, to, to_left, args, num_args)
XlcConv lc_conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
indirect_convert(
XlcConv lc_conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
Conv conv = (Conv) lc_conv->state;
XlcConv from_conv = conv->from_conv;
@ -205,8 +204,7 @@ indirect_convert(lc_conv, from, from_left, to, to_left, args, num_args)
}
static void
close_indirect_converter(lc_conv)
XlcConv lc_conv;
close_indirect_converter(XlcConv lc_conv)
{
Conv conv = (Conv) lc_conv->state;
@ -223,8 +221,7 @@ close_indirect_converter(lc_conv)
}
static void
reset_indirect_converter(lc_conv)
XlcConv lc_conv;
reset_indirect_converter(XlcConv lc_conv)
{
Conv conv = (Conv) lc_conv->state;
@ -243,11 +240,7 @@ static XlcConvMethodsRec conv_methods = {
} ;
static XlcConv
open_indirect_converter(from_lcd, from, to_lcd, to)
XLCd from_lcd;
char *from;
XLCd to_lcd;
char *to;
open_indirect_converter(XLCd from_lcd, char *from, XLCd to_lcd, char *to)
{
XlcConv lc_conv, from_conv, to_conv;
Conv conv;
@ -274,8 +267,10 @@ open_indirect_converter(from_lcd, from, to_lcd, to)
lc_conv->methods = &conv_methods;
lc_conv->state = (XPointer) Xmalloc(sizeof(ConvRec));
if (lc_conv->state == NULL)
goto err;
if (lc_conv->state == NULL){
close_indirect_converter(lc_conv);
return (XlcConv) NULL;
}
conv = (Conv) lc_conv->state;
@ -286,8 +281,10 @@ open_indirect_converter(from_lcd, from, to_lcd, to)
from_conv = get_converter((XLCd)NULL, from_type, (XLCd)NULL, QCharSet);
if (from_conv == NULL)
from_conv = get_converter(from_lcd, from_type, from_lcd, QChar);
if (from_conv == NULL)
goto err;
if (from_conv == NULL){
close_indirect_converter(lc_conv);
return (XlcConv) NULL;
}
conv->from_conv = from_conv;
to_conv = get_converter(to_lcd, QCTCharSet, to_lcd, to_type);
@ -295,24 +292,17 @@ open_indirect_converter(from_lcd, from, to_lcd, to)
to_conv = get_converter(to_lcd, QCharSet, to_lcd, to_type);
if (to_conv == NULL)
to_conv = get_converter((XLCd) NULL, QCharSet, (XLCd) NULL, to_type);
if (to_conv == NULL)
goto err;
if (to_conv == NULL){
close_indirect_converter(lc_conv);
return (XlcConv) NULL;
}
conv->to_conv = to_conv;
return lc_conv;
err:
close_indirect_converter(lc_conv);
return (XlcConv) NULL;
}
XlcConv
_fallcOpenConverter(from_lcd, from, to_lcd, to)
XLCd from_lcd;
char *from;
XLCd to_lcd;
char *to;
_fallcOpenConverter(XLCd from_lcd, char *from, XLCd to_lcd, char *to)
{
XlcConv conv;
XrmQuark from_type, to_type;
@ -327,29 +317,27 @@ _fallcOpenConverter(from_lcd, from, to_lcd, to)
}
void
_fallcCloseConverter(conv)
XlcConv conv;
_fallcCloseConverter(XlcConv conv)
{
close_converter(conv);
}
int
_fallcConvert(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
_fallcConvert(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
return (*conv->methods->convert)(conv, from, from_left, to, to_left, args,
num_args);
}
void
_fallcResetConverter(conv)
XlcConv conv;
_fallcResetConverter(XlcConv conv)
{
if (conv->methods->reset)
(*conv->methods->reset)(conv);

View file

@ -46,21 +46,12 @@
* SOFTWARE.
*
*/
#ifndef NOT_X_ENV
#include "syncx.h"
#include <X11/Xresource.h>
#include "_fallibint.h"
#include "_fallcPubI.h"
#else /* NOT_X_ENV */
#define Xmalloc malloc
#define Xrealloc realloc
#define Xfree free
#endif /* NOT_X_ENV */
/* specifying NOT_X_ENV allows users to just use
the database parsing routine. */
/* For UDC/VW */
@ -172,7 +163,7 @@ typedef struct {
static DBParseInfo parse_info;
static void init_parse_info()
static void init_parse_info(void)
{
static int first = 1;
char *ptr;
@ -192,7 +183,7 @@ static void init_parse_info()
}
static void
clear_parse_info()
clear_parse_info(void)
{
int i;
char *ptr;
@ -220,8 +211,7 @@ clear_parse_info()
}
static Bool
realloc_parse_info(len)
int len;
realloc_parse_info(int len)
{
char *p;
@ -245,8 +235,7 @@ typedef struct _Line {
} Line;
static void
free_line(line)
Line *line;
free_line(Line *line)
{
if(line->str != NULL){
Xfree(line->str);
@ -255,9 +244,7 @@ free_line(line)
}
static int
realloc_line(line, size)
Line *line;
int size;
realloc_line(Line *line, int size)
{
char *str = line->str;
@ -279,21 +266,10 @@ realloc_line(line, size)
#define iswhite(ch) ((ch) == SYM_SPACE || (ch) == SYM_TAB)
static void
zap_comment(str, quoted)
char *str;
int *quoted;
zap_comment(char *str, int *quoted)
{
char *p = str;
#ifdef never
*quoted = 0;
if(*p == SYM_COMMENT){
int len = strlen(str);
if(p[len - 1] == SYM_NEWLINE){
*p++ = SYM_NEWLINE;
}
*p = '\0';
}
#else
while(*p){
if(*p == SYM_DOUBLE_QUOTE){
if(p == str || p[-1] != SYM_BACKSLASH){
@ -317,13 +293,11 @@ zap_comment(str, quoted)
}
++p;
}
#endif
}
static int
read_line(fd, line)
FILE *fd;
Line *line;
read_line(FILE *fd, Line *line)
{
char buf[BUFSIZE], *p;
int len;
@ -347,7 +321,7 @@ read_line(fd, line)
if(cur + len + 1 > line->maxsize){
/* need to reallocate buffer. */
if(! realloc_line(line, line->maxsize + BUFSIZE)){
goto err; /* realloc error. */
return -1; /* realloc error. */
}
str = line->str;
}
@ -369,19 +343,15 @@ read_line(fd, line)
}
if(quoted){
/* error. still in quoted state. */
goto err;
return -1;
}
return line->cursize = cur;
err:;
return -1;
}
/************************************************************************/
static Token
get_token(str)
char *str;
get_token(char *str)
{
switch(*str){
case SYM_NEWLINE: return T_NEWLINE;
@ -405,9 +375,7 @@ get_token(str)
}
static int
get_word(str, word)
char *str;
char *word;
get_word(char *str, char *word)
{
char *p = str, *w = word;
Token token;
@ -435,9 +403,7 @@ get_word(str, word)
}
static int
get_quoted_word(str, word)
char *str;
char *word;
get_quoted_word(char *str, char *word)
{
char *p = str, *w = word;
Token token;
@ -451,7 +417,8 @@ get_quoted_word(str, word)
token_len = token_tbl[token].len;
if(token == T_DOUBLE_QUOTE){
p += token_len;
goto found;
*w = '\0';
return p - str;
}
if(token == T_BACKSLASH){
p += token_len;
@ -466,16 +433,12 @@ get_quoted_word(str, word)
}
/* error. cannot detect next double quote */
return 0;
found:;
*w = '\0';
return p - str;
}
/************************************************************************/
static int
append_value_list()
append_value_list(void)
{
char **value_list = parse_info.value;
char *value = NULL;
@ -529,7 +492,7 @@ append_value_list()
parse_info.bufsize = 0;
return 1;
err:;
err:
if(value_list){
Xfree((char **)value_list);
}
@ -544,10 +507,9 @@ append_value_list()
}
static int
construct_name(name)
char *name;
construct_name(char *name)
{
register int i, len = 0;
int i, len = 0;
char *p = name;
for(i = 0; i <= parse_info.nest_depth; ++i){
@ -565,57 +527,58 @@ construct_name(name)
}
static int
store_to_database(db)
Database *db;
store_to_database(Database *db)
{
Database new = (Database)NULL;
char name[BUFSIZE];
if(parse_info.pre_state == S_VALUE){
if(! append_value_list()){
goto err;
while(1){
if(parse_info.pre_state == S_VALUE){
if(! append_value_list()){
break;
}
}
if(parse_info.name[parse_info.nest_depth] == NULL){
break;
}
new = (Database)Xmalloc(sizeof(DatabaseRec));
if(new == (Database)NULL){
break;
}
bzero(new, sizeof(DatabaseRec));
new->category = (char *)Xmalloc(strlen(parse_info.category) + 1);
if(new->category == NULL){
break;
}
strcpy(new->category, parse_info.category);
if(! construct_name(name)){
break;
}
new->name = (char *)Xmalloc(strlen(name) + 1);
if(new->name == NULL){
break;
}
strcpy(new->name, name);
new->next = *db;
new->value = parse_info.value;
new->value_num = parse_info.value_num;
*db = new;
Xfree(parse_info.name[parse_info.nest_depth]);
parse_info.name[parse_info.nest_depth] = NULL;
parse_info.value = (char **)NULL;
parse_info.value_num = 0;
parse_info.value_len = 0;
return 1;
}
if(parse_info.name[parse_info.nest_depth] == NULL){
goto err;
}
new = (Database)Xmalloc(sizeof(DatabaseRec));
if(new == (Database)NULL){
goto err;
}
bzero(new, sizeof(DatabaseRec));
new->category = (char *)Xmalloc(strlen(parse_info.category) + 1);
if(new->category == NULL){
goto err;
}
strcpy(new->category, parse_info.category);
if(! construct_name(name)){
goto err;
}
new->name = (char *)Xmalloc(strlen(name) + 1);
if(new->name == NULL){
goto err;
}
strcpy(new->name, name);
new->next = *db;
new->value = parse_info.value;
new->value_num = parse_info.value_num;
*db = new;
Xfree(parse_info.name[parse_info.nest_depth]);
parse_info.name[parse_info.nest_depth] = NULL;
parse_info.value = (char **)NULL;
parse_info.value_num = 0;
parse_info.value_len = 0;
return 1;
err:;
if(new){
if(new->category){
Xfree(new->category);
@ -641,8 +604,7 @@ store_to_database(db)
#define END_MARK_LEN 3 /*strlen(END_MARK)*/
static int
check_category_end(str)
char *str;
check_category_end(char *str)
{
char *p;
int len;
@ -667,37 +629,28 @@ check_category_end(str)
/************************************************************************/
static int
f_newline(str, token, db)
char *str;
Token token;
Database *db;
f_newline(char *str, Token token, Database *db)
{
switch(parse_info.pre_state){
case S_NULL:
case S_CATEGORY:
break;
case S_NAME:
goto err; /* no value */
return 0; /* no value */
case S_VALUE:
if(!store_to_database(db)){
goto err;
return 0;
}
parse_info.pre_state = S_CATEGORY;
break;
default:
goto err;
return 0;
}
return token_tbl[token].len;
err:;
return 0;
}
static int
f_comment(str, token, db)
char *str;
Token token;
Database *db;
f_comment(char *str, Token token, Database *db)
{
/* NOTE: comment is already handled in read_line(),
so this function is not necessary. */
@ -711,10 +664,7 @@ f_comment(str, token, db)
}
static int
f_white(str, token, db)
char *str;
Token token;
Database *db;
f_white(char *str, Token token, Database *db)
{
char *p = str;
@ -725,76 +675,61 @@ f_white(str, token, db)
}
static int
f_semicolon(str, token, db)
char *str;
Token token;
Database *db;
f_semicolon(char *str, Token token, Database *db)
{
switch(parse_info.pre_state){
case S_NULL:
case S_CATEGORY:
case S_NAME:
goto err;
return 0;
case S_VALUE:
if(! append_value_list()){
goto err;
return 0;
}
parse_info.pre_state = S_VALUE;
break;
default:
goto err;
return 0;
}
return token_tbl[token].len;
err:;
return 0;
}
static int
f_left_brace(str, token, db)
char *str;
Token token;
Database *db;
f_left_brace(char *str, Token token, Database *db)
{
switch(parse_info.pre_state){
case S_NULL:
case S_CATEGORY:
goto err;
return 0;
case S_NAME:
if(parse_info.name[parse_info.nest_depth] == NULL ||
parse_info.nest_depth + 1 > MAX_NAME_NEST){
goto err;
return 0;
}
++parse_info.nest_depth;
parse_info.pre_state = S_CATEGORY;
break;
case S_VALUE:
default:
goto err;
return 0;
}
return token_tbl[token].len;
err:
return 0;
}
static int
f_right_brace(str, token, db)
char *str;
Token token;
Database *db;
f_right_brace(char *str, Token token, Database *db)
{
if(parse_info.nest_depth < 1){
goto err;
return 0;
}
switch(parse_info.pre_state){
case S_NULL:
case S_NAME:
goto err;
return 0;
case S_VALUE:
if(! store_to_database(db)){
goto err;
return 0;
}
/* fall into next case */
case S_CATEGORY:
@ -806,19 +741,13 @@ f_right_brace(str, token, db)
parse_info.pre_state = S_CATEGORY;
break;
default:
goto err;
return 0;
}
return token_tbl[token].len;
err:;
return 0;
}
static int
f_double_quote(str, token, db)
char *str;
Token token;
Database *db;
f_double_quote(char *str, Token token, Database *db)
{
char word[BUFSIZE];
int len = 0;
@ -826,17 +755,17 @@ f_double_quote(str, token, db)
switch(parse_info.pre_state){
case S_NULL:
case S_CATEGORY:
goto err;
return 0;
case S_NAME:
case S_VALUE:
len = get_quoted_word(str, word);
if(len < 1){
goto err;
return 0;
}
if( (parse_info.bufsize + (int)strlen(word) +1)
>= parse_info.bufMaxSize){
if(realloc_parse_info(strlen(word) +1) == False){
goto err;
return 0;
}
}
strcpy(&parse_info.buf[parse_info.bufsize], word);
@ -844,28 +773,19 @@ f_double_quote(str, token, db)
parse_info.pre_state = S_VALUE;
break;
default:
goto err;
return 0;
}
return len; /* including length of token */
err:;
return 0;
}
static int
f_backslash(str, token, db)
char *str;
Token token;
Database *db;
f_backslash(char *str, Token token, Database *db)
{
return f_default(str, token, db);
}
static int
f_numeric(str, token, db)
char *str;
Token token;
Database *db;
f_numeric(char *str, Token token, Database *db)
{
char word[BUFSIZE], *p;
int len;
@ -874,19 +794,19 @@ f_numeric(str, token, db)
switch(parse_info.pre_state){
case S_NULL:
case S_CATEGORY:
goto err;
return 0;
case S_NAME:
case S_VALUE:
token_len = token_tbl[token].len;
p = str + token_len;
len = get_word(p, word);
if(len < 1){
goto err;
return 0;
}
if( (parse_info.bufsize + token_len + (int)strlen(word) +1)
>= parse_info.bufMaxSize){
if(realloc_parse_info(token_len + strlen(word) +1) == False){
goto err;
return 0;
}
}
strncpy(&parse_info.buf[parse_info.bufsize], str, token_len);
@ -895,36 +815,30 @@ f_numeric(str, token, db)
parse_info.pre_state = S_VALUE;
break;
default:
goto err;
return 0;
}
return len + token_len;
err:;
return 0;
}
static int
f_default(str, token, db)
char *str;
Token token;
Database *db;
f_default(char *str, Token token, Database *db)
{
char word[BUFSIZE], *p;
int len;
len = get_word(str, word);
if(len < 1){
goto err;
return 0;
}
switch(parse_info.pre_state){
case S_NULL:
if(parse_info.category != NULL){
goto err;
return 0;
}
p = (char *)Xmalloc(strlen(word) + 1);
if(p == NULL){
goto err;
return 0;
}
strcpy(p, word);
parse_info.category = p;
@ -942,7 +856,7 @@ f_default(str, token, db)
}
p = (char *)Xmalloc(strlen(word) + 1);
if(p == NULL){
goto err;
return 0;
}
strcpy(p, word);
if(parse_info.name[parse_info.nest_depth] != NULL){
@ -956,7 +870,7 @@ f_default(str, token, db)
if( (parse_info.bufsize + (int)strlen(word) +1 )
>= parse_info.bufMaxSize){
if(realloc_parse_info(strlen(word) +1) == False){
goto err;
return 0;
}
}
strcpy(&parse_info.buf[parse_info.bufsize], word);
@ -964,20 +878,16 @@ f_default(str, token, db)
parse_info.pre_state = S_VALUE;
break;
default:
goto err;
return 0;
}
return len;
err:;
return 0;
}
/************************************************************************/
#ifdef DEBUG
static void
PrintDatabase(db)
Database db;
PrintDatabase(Database db)
{
Database p = db;
int i = 0, j;
@ -998,8 +908,7 @@ PrintDatabase(db)
#endif
static void
DestroyDatabase(db)
Database db;
DestroyDatabase(Database db)
{
Database p = db;
@ -1023,8 +932,7 @@ DestroyDatabase(db)
}
static int
CountDatabase(db)
Database db;
CountDatabase(Database db)
{
Database p = db;
int cnt = 0;
@ -1037,8 +945,7 @@ CountDatabase(db)
}
static Database
CreateDatabase(dbfile)
char *dbfile;
CreateDatabase(char *dbfile)
{
Database db = (Database)NULL;
FILE *fd;
@ -1101,8 +1008,6 @@ CreateDatabase(dbfile)
/************************************************************************/
#ifndef NOT_X_ENV
/* locale framework functions */
typedef struct _XlcDatabaseRec {
@ -1129,12 +1034,12 @@ static XlcDatabaseList _db_list = (XlcDatabaseList)NULL;
/* This function retrieves XLocale database information. */
/************************************************************************/
void
_fallcGetResource(lcd, category, class, value, count)
XLCd lcd;
char *category;
char *class;
char ***value;
int *count;
_fallcGetResource(
XLCd lcd,
char *category,
char *class,
char ***value,
int *count)
{
XLCdPublicMethodsPart *methods = XLC_PUBLIC_METHODS(lcd);
@ -1148,12 +1053,12 @@ _fallcGetResource(lcd, category, class, value, count)
/* This function retrieves XLocale database information. */
/************************************************************************/
void
_fallcGetLocaleDataBase(lcd, category, name, value, count)
XLCd lcd;
char *category;
char *name;
char ***value;
int *count;
_fallcGetLocaleDataBase(
XLCd lcd,
char *category,
char *name,
char ***value,
int *count)
{
XlcDatabase lc_db = (XlcDatabase)XLC_PUBLIC(lcd, xlocale_db);
XrmQuark category_q, name_q;
@ -1172,7 +1077,7 @@ _fallcGetLocaleDataBase(lcd, category, name, value, count)
}
/************************************************************************/
/* _fallcDestroyLocaleDataBase(lcd) */
/* _fallcDestroyLocaleDataBase(lcd) */
/*----------------------------------------------------------------------*/
/* This function destroy the XLocale Database that bound to the */
/* specified lcd. If the XLocale Database is referred from some */
@ -1181,8 +1086,7 @@ _fallcGetLocaleDataBase(lcd, category, name, value, count)
/* remove it from the cache list and free work area. */
/************************************************************************/
void
_fallcDestroyLocaleDataBase(lcd)
XLCd lcd;
_fallcDestroyLocaleDataBase(XLCd lcd)
{
XlcDatabase lc_db = (XlcDatabase)XLC_PUBLIC(lcd, xlocale_db);
XlcDatabaseList p, prev;
@ -1215,8 +1119,7 @@ _fallcDestroyLocaleDataBase(lcd)
/* the specified XLCd. */
/************************************************************************/
XPointer
_fallcCreateLocaleDataBase(lcd)
XLCd lcd;
_fallcCreateLocaleDataBase(XLCd lcd)
{
XlcDatabaseList list, new;
Database p, database = (Database)NULL;
@ -1247,7 +1150,11 @@ _fallcCreateLocaleDataBase(lcd)
n = CountDatabase(database);
lc_db = (XlcDatabase)Xmalloc(sizeof(XlcDatabaseRec) * (n + 1));
if(lc_db == (XlcDatabase)NULL){
goto err;
DestroyDatabase(database);
if(lc_db != (XlcDatabase)NULL){
Xfree((char *)lc_db);
}
return (XPointer)NULL;
}
bzero(lc_db, sizeof(XlcDatabaseRec) * (n + 1));
for(p = database, i = 0; p && i < n; p = p->next, ++i){
@ -1258,7 +1165,11 @@ _fallcCreateLocaleDataBase(lcd)
new = (XlcDatabaseList)Xmalloc(sizeof(XlcDatabaseListRec));
if(new == (XlcDatabaseList)NULL){
goto err;
DestroyDatabase(database);
if(lc_db != (XlcDatabase)NULL){
Xfree((char *)lc_db);
}
return (XPointer)NULL;
}
new->name_q = name_q;
new->lc_db = lc_db;
@ -1268,13 +1179,4 @@ _fallcCreateLocaleDataBase(lcd)
_db_list = new;
return XLC_PUBLIC(lcd, xlocale_db) = (XPointer)lc_db;
err:;
DestroyDatabase(database);
if(lc_db != (XlcDatabase)NULL){
Xfree((char *)lc_db);
}
return (XPointer)NULL;
}
#endif /* NOT_X_ENV */

View file

@ -59,18 +59,18 @@ typedef struct _StateRec {
} StateRec, *State;
static int
strtostr(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
strtostr(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
register char *src, *dst;
char *src, *dst;
unsigned char side;
register length;
int length;
if (from == NULL || *from == NULL)
return 0;
@ -104,18 +104,18 @@ strtostr(conv, from, from_left, to, to_left, args, num_args)
}
static int
wcstostr(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
wcstostr(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
register wchar_t *src, side;
register char *dst;
register length;
wchar_t *src, side;
char *dst;
int length;
if (from == NULL || *from == NULL)
return 0;
@ -149,18 +149,18 @@ wcstostr(conv, from, from_left, to, to_left, args, num_args)
}
static int
cstostr(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
cstostr(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
register char *src, *dst;
char *src, *dst;
unsigned char side;
register length;
int length;
if (from == NULL || *from == NULL)
return 0;
@ -202,18 +202,18 @@ cstostr(conv, from, from_left, to, to_left, args, num_args)
}
static int
strtowcs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
strtowcs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
register char *src;
register wchar_t *dst;
register length;
char *src;
wchar_t *dst;
int length;
if (from == NULL || *from == NULL)
return 0;
@ -244,8 +244,7 @@ strtowcs(conv, from, from_left, to, to_left, args, num_args)
static void
close_converter(conv)
XlcConv conv;
close_converter(XlcConv conv)
{
if (conv->state)
Xfree((char *) conv->state);
@ -254,10 +253,9 @@ close_converter(conv)
}
static XlcConv
create_conv(methods)
XlcConvMethods methods;
create_conv(XlcConvMethods methods)
{
register XlcConv conv;
XlcConv conv;
State state;
static XlcCharSet GL_charset = NULL;
static XlcCharSet GR_charset = NULL;
@ -274,8 +272,10 @@ create_conv(methods)
conv->state = NULL;
state = (State) Xmalloc(sizeof(StateRec));
if (state == NULL)
goto err;
if (state == NULL){
close_converter(conv);
return (XlcConv) NULL;
}
state->GL_charset = state->charset = GL_charset;
state->GR_charset = GR_charset;
@ -284,11 +284,6 @@ create_conv(methods)
conv->state = (XPointer) state;
return conv;
err:
close_converter(conv);
return (XlcConv) NULL;
}
static XlcConvMethodsRec strtostr_methods = {
@ -298,11 +293,7 @@ static XlcConvMethodsRec strtostr_methods = {
} ;
static XlcConv
open_strtostr(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_strtostr( XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type )
{
return create_conv(&strtostr_methods);
}
@ -314,11 +305,7 @@ static XlcConvMethodsRec wcstostr_methods = {
} ;
static XlcConv
open_wcstostr(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_wcstostr( XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type )
{
return create_conv(&wcstostr_methods);
}
@ -330,11 +317,7 @@ static XlcConvMethodsRec cstostr_methods = {
} ;
static XlcConv
open_cstostr(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_cstostr( XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type )
{
return create_conv(&cstostr_methods);
}
@ -346,18 +329,13 @@ static XlcConvMethodsRec strtowcs_methods = {
} ;
static XlcConv
open_strtowcs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_strtowcs( XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type )
{
return create_conv(&strtowcs_methods);
}
XLCd
_fallcDefaultLoader(name)
char *name;
_fallcDefaultLoader(char *name)
{
XLCd lcd;

View file

@ -52,8 +52,7 @@ extern char *dlerror();
#define GLOBAL 0x100
XLCd
_fallcDynamicLoader(name)
char *name;
_fallcDynamicLoader(char *name)
{
char libpath[1024];
XLCdMethods _fallcGenericMethods;

View file

@ -105,23 +105,23 @@ static CodeSet wc_codeset();
*/
static int
euc_mbstowcs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
euc_mbstowcs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
XLCd lcd = (XLCd)conv->state;
register Uchar ch;
register int chr_len = 0;
register int sshift = False;
register int shift_mult = 0;
register Uint chrcode;
Uchar ch;
int chr_len = 0;
int sshift = False;
int shift_mult = 0;
Uint chrcode;
Uint wc_encode = 0;
Uint wc_tmp = 0;
@ -259,20 +259,20 @@ euc_mbstowcs(conv, from, from_left, to, to_left, args, num_args)
static int
euc_wcstombs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
euc_wcstombs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
wchar_t *inbufptr = (wchar_t *) *from;
register XPointer outbufptr = *to;
XPointer outbufptr = *to;
XPointer outbuf_base = outbufptr;
wchar_t wch;
register length;
int length;
Uchar tmp;
int num_conv;
int unconv_num = 0;
@ -324,14 +324,14 @@ euc_wcstombs(conv, from, from_left, to, to_left, args, num_args)
static int
euc_mbtocs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
euc_mbtocs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
XLCd lcd = (XLCd)conv->state;
XlcCharSet charset;
@ -340,7 +340,7 @@ euc_mbtocs(conv, from, from_left, to, to_left, args, num_args)
int length;
int unconv_num = 0;
int min_ch = 0;
register char *src = *from, *dst = *to;
char *src = *from, *dst = *to;
if (isleftside(*src)) { /* 7-bit (CS0) */
@ -411,14 +411,14 @@ euc_mbtocs(conv, from, from_left, to, to_left, args, num_args)
static int
euc_mbstocs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
euc_mbstocs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
XLCd lcd = (XLCd)conv->state;
char *tmp_from, *tmp_to;
@ -471,21 +471,21 @@ euc_mbstocs(conv, from, from_left, to, to_left, args, num_args)
static int
euc_wcstocs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
euc_wcstocs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
XLCd lcd = (XLCd)conv->state;
wchar_t *wcptr = (wchar_t *) *from;
register char *bufptr = (char *) *to;
char *bufptr = (char *) *to;
wchar_t wch;
char *tmpptr;
register length;
int length;
CodeSet codeset;
Ulong wc_encoding;
int unconv_num = 0;
@ -533,20 +533,20 @@ euc_wcstocs(conv, from, from_left, to, to_left, args, num_args)
static int
euc_cstombs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
euc_cstombs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
XLCd lcd = (XLCd)conv->state;
register char *csptr = *from;
register char *bufptr = *to;
char *csptr = *from;
char *bufptr = *to;
int csstr_len = *from_left;
register buf_len = *to_left;
int buf_len = *to_left;
int length;
CodeSet codeset;
int cvt_length;
@ -593,21 +593,21 @@ euc_cstombs(conv, from, from_left, to, to_left, args, num_args)
static int
euc_cstowcs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
euc_cstowcs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
XLCd lcd = (XLCd)conv->state;
register char *csptr = *from;
char *csptr = *from;
wchar_t *bufptr = (wchar_t *) *to;
wchar_t *toptr = (wchar_t *) *to;
int csstr_len = *from_left;
register buf_len = *to_left;
int buf_len = *to_left;
wchar_t wch;
int length;
Ulong wc_shift_bits = XLC_GENERIC(lcd, wc_shift_bits);
@ -651,14 +651,12 @@ euc_cstowcs(conv, from, from_left, to, to_left, args, num_args)
static CodeSet
wc_codeset(lcd, wch)
XLCd lcd;
wchar_t wch;
wc_codeset(XLCd lcd, wchar_t wch)
{
register CodeSet *codesets = XLC_GENERIC(lcd, codeset_list);
register int end = XLC_GENERIC(lcd, codeset_num);
register Ulong widech = (Ulong)(wch & XLC_GENERIC(lcd, wc_encode_mask));
CodeSet *codesets = XLC_GENERIC(lcd, codeset_list);
int end = XLC_GENERIC(lcd, codeset_num);
Ulong widech = (Ulong)(wch & XLC_GENERIC(lcd, wc_encode_mask));
for (; --end >= 0; codesets++)
if ( widech == (*codesets)->wc_encoding )
@ -669,13 +667,11 @@ wc_codeset(lcd, wch)
static CodeSet
GetCodeSetFromCharSet(lcd, charset)
XLCd lcd;
XlcCharSet charset;
GetCodeSetFromCharSet(XLCd lcd, XlcCharSet charset)
{
register CodeSet *codeset = XLC_GENERIC(lcd, codeset_list);
register XlcCharSet *charset_list;
register codeset_num, num_charsets;
CodeSet *codeset = XLC_GENERIC(lcd, codeset_list);
XlcCharSet *charset_list;
int codeset_num, num_charsets;
codeset_num = XLC_GENERIC(lcd, codeset_num);
@ -693,9 +689,7 @@ GetCodeSetFromCharSet(lcd, charset)
static XlcConv
create_conv(lcd, methods)
XLCd lcd;
XlcConvMethods methods;
create_conv(XLCd lcd, XlcConvMethods methods)
{
XlcConv conv;
@ -711,7 +705,6 @@ create_conv(lcd, methods)
/*
* Stripped down Direct CT converters for EUC
*
*/
typedef struct _CTDataRec {
@ -775,8 +768,7 @@ static enum { Ascii, Kanji, Kana, Userdef } cs_nums;
* initCTptr(): Set ctdptr[] to point at ctdata[], indexed by codeset_num.
*/
static void
initCTptr(lcd)
XLCd lcd;
initCTptr(XLCd lcd)
{
int num_codesets = XLC_GENERIC(lcd, codeset_num);
int num_charsets;
@ -829,27 +821,27 @@ initCTptr(lcd)
#define SKIP_P(str) while (*(str) >= 0x30 && *(str) <= 0x3f) (str)++;
static int
euc_ctstowcs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
euc_ctstowcs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
XLCd lcd = (XLCd)conv->state;
Ulong wc_shift_bits = XLC_GENERIC(lcd, wc_shift_bits);
register XPointer inbufptr = *from;
XPointer inbufptr = *from;
XPointer inbuf_base;
register wchar_t *outbufptr = (wchar_t *) *to;
wchar_t *outbufptr = (wchar_t *) *to;
wchar_t *outbuf_base = outbufptr;
register clen, length;
int clen, length;
int num_conv;
int unconv_num = 0;
unsigned int ct_seglen = 0;
Uchar ct_type = 0;
register shift_mult;
int shift_mult;
wchar_t wc_tmp;
wchar_t wch;
Ulong wc_encoding;
@ -955,22 +947,22 @@ euc_ctstowcs(conv, from, from_left, to, to_left, args, num_args)
#define userdef (codeset->cs_num == 3)
static int
euc_wcstocts(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
euc_wcstocts(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
register ct_len = *to_left;
register wchar_t *inbufptr = (wchar_t *) *from;
register char *ctptr = *to;
int ct_len = *to_left;
wchar_t *inbufptr = (wchar_t *) *from;
char *ctptr = *to;
XPointer ct_base = ctptr;
wchar_t wch;
register length;
register unconv_num = 0;
int length;
int unconv_num = 0;
Uchar tmp;
Uchar t1 = 0, t2;
int num_conv;
@ -1085,20 +1077,20 @@ euc_wcstocts(conv, from, from_left, to, to_left, args, num_args)
#define userdef (ctdp == ctdptr[Userdef])
static int
euc_ctstombs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
euc_ctstombs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
register XPointer inbufptr = *from;
register XPointer outbufptr = *to;
XPointer inbufptr = *from;
XPointer outbufptr = *to;
XPointer inbuf_base;
XPointer outbuf_base = outbufptr;
register clen, length;
int clen, length;
int unconv_num = 0;
int num_conv;
unsigned int ct_seglen = 0;
@ -1204,22 +1196,22 @@ euc_ctstombs(conv, from, from_left, to, to_left, args, num_args)
static int
euc_mbstocts(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
euc_mbstocts(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
register ct_len = *to_left;
int ct_len = *to_left;
int cs_num;
int clen, length;
int unconv_num = 0;
int num_conv;
XPointer inbufptr = *from;
register char *ctptr = *to;
char *ctptr = *to;
XPointer ct_base = ctptr;
StateRec ct_state;
@ -1321,8 +1313,7 @@ euc_mbstocts(conv, from, from_left, to, to_left, args, num_args)
static void
close_converter(conv)
XlcConv conv;
close_converter(XlcConv conv)
{
Xfree((char *) conv);
}
@ -1346,118 +1337,73 @@ static XlcConvMethodsRec conv_methods[] = {
static XlcConv
open_mbstocs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_mbstocs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[MBSTOCS]);
}
static XlcConv
open_wcstocs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_wcstocs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[WCSTOCS]);
}
static XlcConv
open_mbtocs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_mbtocs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[MBTOCS]);
}
static XlcConv
open_cstombs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_cstombs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[CSTOMBS]);
}
static XlcConv
open_cstowcs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_cstowcs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[CSTOWCS]);
}
static XlcConv
open_mbstowcs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_mbstowcs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[MBSTOWCS]);
}
static XlcConv
open_wcstombs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_wcstombs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[WCSTOMBS]);
}
static XlcConv
open_ctstowcs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_ctstowcs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[CTSTOWCS]);
}
static XlcConv
open_ctstombs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_ctstombs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[CTSTOMBS]);
}
static XlcConv
open_wcstocts(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_wcstocts(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[WCSTOCTS]);
}
static XlcConv
open_mbstocts(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_mbstocts(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[MBSTOCTS]);
}
XLCd
_fallcEucLoader(name)
char *name;
_fallcEucLoader(char *name)
{
XLCd lcd;

View file

@ -51,9 +51,6 @@
#include "_fallibint.h"
#include "_fallcPubI.h"
#include <X11/Xos.h>
#ifdef X_NOT_STDC_ENV
extern char *getenv();
#endif
/************************************************************************/
@ -64,10 +61,7 @@ extern char *getenv();
*/
static int
parse_line(line, argv, argsize)
char *line;
char **argv;
int argsize;
parse_line(char *line, char **argv, int argsize)
{
int argc = 0;
char *p = line;
@ -97,8 +91,7 @@ parse_line(line, argv, argsize)
#endif
static void
xlocaledir(path)
char *path;
xlocaledir(char *path)
{
char *dir, *p = path;
int len;
@ -114,10 +107,7 @@ xlocaledir(path)
}
static int
parse_path(path, argv, argsize)
char *path;
char **argv;
int argsize;
parse_path(char *path, char **argv, int argsize)
{
char *p = path;
int i, n;
@ -144,10 +134,7 @@ parse_path(path, argv, argsize)
enum { LtoR, RtoL };
static char *
_XlcResolveName(lc_name, file_name, direction)
char *lc_name;
char *file_name;
int direction; /* mapping direction */
_XlcResolveName(char *lc_name, char *file_name, int direction)/*mapping direction*/
{
FILE *fp;
char buf[BUFSIZE], *name = NULL;
@ -195,9 +182,7 @@ _XlcResolveName(lc_name, file_name, direction)
#define tolower(ch) ((ch) - 'A' + 'a')
*/
static char *
lowercase(dst, src)
char *dst;
char *src;
lowercase(char *dst, char *src)
{
char *s, *t;
@ -210,9 +195,7 @@ lowercase(dst, src)
/************************************************************************/
char *
_fallcFileName(lcd, category)
XLCd lcd;
char *category;
_fallcFileName(XLCd lcd, char *category)
{
char lc_name[BUFSIZE];
char cat[BUFSIZE], dir[BUFSIZE];
@ -267,12 +250,12 @@ _fallcFileName(lcd, category)
#endif
int
_fallcResolveLocaleName(lc_name, full_name, language, territory, codeset)
char *lc_name;
char *full_name;
char *language;
char *territory;
char *codeset;
_fallcResolveLocaleName(
char *lc_name,
char *full_name,
char *language,
char *territory,
char *codeset)
{
char dir[BUFSIZE], buf[BUFSIZE], *name = NULL;
int i, n;
@ -337,9 +320,7 @@ _fallcResolveLocaleName(lc_name, full_name, language, territory, codeset)
#endif
int
_fallcResolveDBName(lc_name, file_name)
char *lc_name;
char *file_name;
_fallcResolveDBName(char *lc_name, char *file_name)
{
char dir[BUFSIZE], buf[BUFSIZE], *name = NULL;
int i, n;
@ -367,8 +348,7 @@ _fallcResolveDBName(lc_name, file_name)
/************************************************************************/
int
_fallcResolveI18NPath(path_name)
char *path_name;
_fallcResolveI18NPath(char *path_name)
{
if(path_name != NULL){
xlocaledir(path_name);

File diff suppressed because it is too large Load diff

View file

@ -60,9 +60,9 @@
#include "_fallibint.h"
#include "_fallcGeneric.h"
static XLCd create();
static Bool initialize();
static void destroy();
static XLCd create(char *name, XLCdMethods methods);
static Bool initialize(XLCd lcd);
static void destroy(XLCd lcd);
static XLCdPublicMethodsRec genericMethods = {
{ NULL }, /* use default methods */
@ -78,9 +78,7 @@ static XLCdPublicMethodsRec genericMethods = {
XLCdMethods _fallcGenericMethods = (XLCdMethods) &genericMethods;
static XLCd
create(name, methods)
char *name;
XLCdMethods methods;
create(char *name, XLCdMethods methods)
{
XLCd lcd;
XLCdPublicMethods new;
@ -91,27 +89,25 @@ create(name, methods)
bzero((char *) lcd, sizeof(XLCdRec));
lcd->core = (XLCdCore) Xmalloc(sizeof(XLCdGenericRec));
if (lcd->core == NULL)
goto err;
if (lcd->core == NULL){
Xfree(lcd);
return (XLCd) NULL;
}
bzero((char *) lcd->core, sizeof(XLCdGenericRec));
new = (XLCdPublicMethods) Xmalloc(sizeof(XLCdPublicMethodsRec));
if (new == NULL)
goto err;
if (new == NULL){
Xfree(lcd);
return (XLCd) NULL;
}
*new = *((XLCdPublicMethods) methods);
lcd->methods = (XLCdMethods) new;
return lcd;
err:
Xfree(lcd);
return (XLCd) NULL;
}
static Bool
string_to_encoding(str, encoding)
char *str;
char *encoding;
string_to_encoding(char *str, char *encoding)
{
char *next;
long value;
@ -144,9 +140,7 @@ string_to_encoding(str, encoding)
}
static Bool
string_to_ulong(str, value)
char *str;
unsigned long *value;
string_to_ulong(char *str, unsigned long *value)
{
char *tmp1 = str;
int base;
@ -175,9 +169,7 @@ unsigned long *value;
static Bool
add_charset(codeset, charset)
CodeSet codeset;
XlcCharSet charset;
add_charset(CodeSet codeset, XlcCharSet charset)
{
XlcCharSet *new_list;
int num;
@ -199,8 +191,7 @@ add_charset(codeset, charset)
}
static CodeSet
add_codeset(gen)
XLCdGenericPart *gen;
add_codeset(XLCdGenericPart *gen)
{
CodeSet new, *new_list;
int num;
@ -216,27 +207,24 @@ add_codeset(gen)
else
new_list = (CodeSet *) Xmalloc(sizeof(CodeSet));
if (new_list == NULL)
goto err;
if (new_list == NULL){
Xfree(new);
return NULL;
}
new_list[num] = new;
gen->codeset_list = new_list;
gen->codeset_num = num + 1;
return new;
err:
Xfree(new);
return NULL;
}
static Bool
add_parse_list(gen, type, encoding, codeset)
XLCdGenericPart *gen;
EncodingType type;
char *encoding;
CodeSet codeset;
add_parse_list(
XLCdGenericPart *gen,
EncodingType type,
char *encoding,
CodeSet codeset)
{
ParseInfo new, *new_list;
char *str;
@ -249,14 +237,24 @@ add_parse_list(gen, type, encoding, codeset)
strcpy(str, encoding);
new = (ParseInfo) Xmalloc(sizeof(ParseInfoRec));
if (new == NULL)
goto err;
if (new == NULL){
Xfree(str);
if (new)
Xfree(new);
return False;
}
bzero((char *) new, sizeof(ParseInfoRec));
if (gen->mb_parse_table == NULL) {
gen->mb_parse_table = (unsigned char *) Xmalloc(256); /* 2^8 */
if (gen->mb_parse_table == NULL)
goto err;
if (gen->mb_parse_table == NULL){
Xfree(str);
if (new)
Xfree(new);
return False;
}
bzero((char *) gen->mb_parse_table, 256);
}
@ -267,8 +265,13 @@ add_parse_list(gen, type, encoding, codeset)
new_list = (ParseInfo *) Xmalloc(2 * sizeof(ParseInfo));
}
if (new_list == NULL)
goto err;
if (new_list == NULL){
Xfree(str);
if (new)
Xfree(new);
return False;
}
new_list[num] = new;
new_list[num + 1] = NULL;
@ -287,18 +290,10 @@ add_parse_list(gen, type, encoding, codeset)
codeset->parse_info = new;
return True;
err:
Xfree(str);
if (new)
Xfree(new);
return False;
}
static void
free_charset(lcd)
XLCd lcd;
free_charset(XLCd lcd)
{
XLCdGenericPart *gen = XLC_GENERIC_PART(lcd);
CodeSet *codeset;
@ -324,9 +319,7 @@ free_charset(lcd)
#define FORWARD (unsigned long)'+'
#define BACKWARD (unsigned long)'-'
static char *getscope(str,scp)
char *str;
FontScope scp;
static char *getscope(char *str, FontScope scp)
{
char buff[256],*next;
unsigned long start=0,end=0,dest=0,shift=0,direction=0;
@ -355,8 +348,7 @@ FontScope scp;
next = str+1 ;
return(next);
}
static int count_scopemap(str)
char *str;
static int count_scopemap(char *str)
{
char *ptr;
int num=0;
@ -367,9 +359,7 @@ char *str;
}
return(num);
}
FontScope falparse_scopemaps(str,size)
char *str;
int *size;
FontScope falparse_scopemaps(char *str, int *size)
{
int num=0,i;
FontScope scope,sc_ptr;
@ -388,25 +378,20 @@ int *size;
}
void
dbg_printValue(str,value,num)
char *str;
char **value;
int num;
dbg_printValue(char *str, char **value, int num)
{
/*
#ifdef DEBUG
int i;
for(i=0;i<num;i++){
fprintf(stderr,"%s value[%d] = %s\n",str,i,value[i]);
}
*/
#endif
}
void
dmpscope(name,sc,num)
FontScope sc;
int num;
dmpscope(char *name, FontScope sc, int num)
{
/*
/* should this be protected by ifdef DEBUG?
int i;
fprintf(stderr,"dmpscope %s\n",name);
for(i=0;i<num;i++){
@ -420,9 +405,7 @@ int num;
*/
}
static XlcCharSet srch_charset_define(name,new)
char *name;
int *new;
static XlcCharSet srch_charset_define(char *name, int *new)
{
XlcCharSet charset = NULL;
*new = 0;
@ -436,9 +419,7 @@ int *new;
}
static int
read_charset_define(lcd,gen)
XLCd lcd;
XLCdGenericPart *gen;
read_charset_define(XLCd lcd, XLCdGenericPart *gen)
{
int i=0;
char csd[16],cset_name[256];
@ -557,8 +538,7 @@ XLCdGenericPart *gen;
}
SegConv
faladd_conversion(gen)
XLCdGenericPart *gen;
faladd_conversion(XLCdGenericPart *gen)
{
SegConv new_list;
int num;
@ -580,9 +560,7 @@ XLCdGenericPart *gen;
}
static int
read_segmentconversion(lcd,gen)
XLCd lcd;
XLCdGenericPart *gen;
read_segmentconversion(XLCd lcd, XLCdGenericPart *gen)
{
int i=0;
char conv[16];
@ -682,9 +660,7 @@ XLCdGenericPart *gen;
return 1;
}
static ExtdSegment create_ctextseg(value,num)
char **value;
int num;
static ExtdSegment create_ctextseg(char **value, int num)
{
ExtdSegment ret;
char side_str[128],*ptr;
@ -752,8 +728,7 @@ int num;
/* For VW/UDC end */
static Bool
load_generic(lcd)
XLCd lcd;
load_generic(XLCd lcd)
{
XLCdGenericPart *gen = XLC_GENERIC_PART(lcd);
char **value;
@ -767,8 +742,10 @@ load_generic(lcd)
/***** wc_encoding_mask *****/
_fallcGetResource(lcd, "XLC_XLOCALE", "wc_encoding_mask", &value, &num);
if (num > 0) {
if (string_to_ulong(value[0], &l) == False)
goto err;
if (string_to_ulong(value[0], &l) == False){
free_charset(lcd);
return False;
}
gen->wc_encode_mask = l;
}
/***** wc_shift_bits *****/
@ -805,8 +782,10 @@ load_generic(lcd)
if (num > 0) {
char *tmp;
if (codeset == NULL && (codeset = add_codeset(gen)) == NULL)
goto err;
if (codeset == NULL && (codeset = add_codeset(gen)) == NULL){
free_charset(lcd);
return False;
}
/* 3.4.1 side */
if( !_fallcNCompareISOLatin1(value[0], "none", 4) ){
@ -831,8 +810,10 @@ load_generic(lcd)
sprintf(name, "%s.%s", cs , "length");
_fallcGetResource(lcd, "XLC_XLOCALE", name, &value, &num);
if (num > 0) {
if (codeset == NULL && (codeset = add_codeset(gen)) == NULL)
goto err;
if (codeset == NULL && (codeset = add_codeset(gen)) == NULL){
free_charset(lcd);
return False;
}
codeset->length = atoi(value[0]);
if (codeset->length < 1)
codeset->length = 1;
@ -853,8 +834,10 @@ load_generic(lcd)
};
int j;
if (codeset == NULL && (codeset = add_codeset(gen)) == NULL)
goto err;
if (codeset == NULL && (codeset = add_codeset(gen)) == NULL){
free_charset(lcd);
return False;
}
for ( ; num-- > 0; value++) {
char encoding[256];
char *tmp = *value;
@ -867,8 +850,10 @@ load_generic(lcd)
break;
}
}
if (string_to_encoding(tmp, encoding) == False)
goto err;
if (string_to_encoding(tmp, encoding) == False){
free_charset(lcd);
return False;
}
add_parse_list(gen, type, encoding, codeset);
}
}
@ -877,10 +862,11 @@ load_generic(lcd)
sprintf(name, "%s.%s", cs, "wc_encoding");
_fallcGetResource(lcd, "XLC_XLOCALE", name, &value, &num);
if (num > 0) {
if (codeset == NULL && (codeset = add_codeset(gen)) == NULL)
goto err;
if (string_to_ulong(value[0], &l) == False)
goto err;
if ((codeset == NULL && (codeset = add_codeset(gen)) == NULL) || \
(string_to_ulong(value[0], &l) == False)){
free_charset(lcd);
return False;
}
codeset->wc_encoding = l;
}
@ -891,8 +877,10 @@ load_generic(lcd)
XlcCharSet charset;
char *encoding;
if (codeset == NULL && (codeset = add_codeset(gen)) == NULL)
goto err;
if (codeset == NULL && (codeset = add_codeset(gen)) == NULL){
free_charset(lcd);
return False;
}
for ( ; num-- > 0; value++) {
string_to_encoding(*value, name);
charset = NULL;
@ -911,8 +899,10 @@ load_generic(lcd)
}
}
if (charset) {
if (add_charset(codeset, charset) == False)
goto err;
if (add_charset(codeset, charset) == False){
free_charset(lcd);
return False;
}
}
}
}
@ -938,7 +928,8 @@ load_generic(lcd)
(ByteInfoListRec *)Xmalloc(
(codeset->length)*sizeof(ByteInfoListRec));
if(codeset->byteM == NULL){
goto err;
free_charset(lcd);
return False;
}
}
@ -1008,16 +999,10 @@ load_generic(lcd)
read_segmentconversion(lcd,gen); /* For VW/UDC */
return True;
err:
free_charset(lcd);
return False;
}
static Bool
initialize(lcd)
XLCd lcd;
initialize(XLCd lcd)
{
XLCdPublicMethods superclass = (XLCdPublicMethods) _fallcPublicMethods;
@ -1035,8 +1020,7 @@ initialize(lcd)
}
/* VW/UDC start 95.01.08 */
static void
freeByteM(codeset)
CodeSet codeset;
freeByteM(CodeSet codeset)
{
int i;
ByteInfoList blst;
@ -1054,8 +1038,7 @@ freeByteM(codeset)
codeset->byteM = NULL;
}
static void
freeConversion(codeset)
CodeSet codeset;
freeConversion(CodeSet codeset)
{
int i;
Conversion mbconv,ctconv;
@ -1081,8 +1064,7 @@ freeConversion(codeset)
}
}
static void
freeExtdSegment(codeset)
CodeSet codeset;
freeExtdSegment(CodeSet codeset)
{
int i;
ExtdSegment ctextseg;
@ -1102,8 +1084,7 @@ freeExtdSegment(codeset)
codeset->ctextseg = NULL;
}
static void
freeParseInfo(codeset)
CodeSet codeset;
freeParseInfo(CodeSet codeset)
{
int i;
ParseInfo parse_info;
@ -1119,8 +1100,7 @@ freeParseInfo(codeset)
codeset->parse_info = NULL;
}
static void
destroy_CodeSetList(gen)
XLCdGenericPart *gen ;
destroy_CodeSetList(XLCdGenericPart *gen)
{
CodeSet *codeset = gen->codeset_list;
int i;
@ -1140,10 +1120,9 @@ destroy_CodeSetList(gen)
}
Xfree(codeset); gen->codeset_list = NULL;
}
/* */
static void
destroy_SegConv(gen)
XLCdGenericPart *gen ;
destroy_SegConv(XLCdGenericPart *gen)
{
SegConv seg = gen->segment_conv;
int i;
@ -1167,8 +1146,7 @@ destroy_SegConv(gen)
}
static void
destroy_gen(lcd)
XLCd lcd;
destroy_gen(XLCd lcd)
{
XLCdGenericPart *gen = XLC_GENERIC_PART(lcd);
destroy_SegConv(gen);
@ -1184,8 +1162,7 @@ destroy_gen(lcd)
}
/* VW/UDC end 95.01.08 */
static void
destroy(lcd)
XLCd lcd;
destroy(XLCd lcd)
{
XLCdPublicMethods superclass = XLC_PUBLIC_METHODS(lcd)->superclass;

View file

@ -153,10 +153,8 @@ typedef struct _XLCdGenericPart {
CodeSet initial_state_GR;
int segment_conv_num; /* UDC */
SegConv segment_conv; /* UDC */
#ifndef X_NOT_STDC_ENV
Bool use_stdc_env;
Bool force_convert_to_mb;
#endif
} XLCdGenericPart;
typedef struct _XLCdGenericRec {

View file

@ -67,74 +67,50 @@
/*** #define USE_UTF_LOADER ***/
extern XLCd _fallcDefaultLoader(
#if NeedFunctionPrototypes
char*
#endif
);
#ifdef DYNAMIC_LOAD
#ifdef sun
extern XLCd _falsunOsDynamicLoad(
#if NeedFunctionPrototypes
char*
#endif
);
#endif /* sun */
#ifdef AIXV3
extern XLCd _falaixOsDynamicLoad(
#if NeedFunctionPrototypes
char*
#endif
);
#endif /* AIXV3 */
#endif
#endif /* DYNAMIC_LOAD */
#ifdef USE_GENERIC_LOADER
extern XLCd _fallcGenericLoader(
#if NeedFunctionPrototypes
char*
#endif
);
#endif
#ifdef USE_UTF_LOADER
extern XLCd _fallcUtfLoader(
#if NeedFunctionPrototypes
char*
#endif
);
#endif
#ifdef USE_EUC_LOADER
extern XLCd _fallcEucLoader(
#if NeedFunctionPrototypes
char*
#endif
);
#endif
#ifdef USE_SJIS_LOADER
extern XLCd _fallcSjisLoader(
#if NeedFunctionPrototypes
char*
#endif
);
#endif
#ifdef USE_JIS_LOADER
extern XLCd _XlcJisLoader(
#if NeedFunctionPrototypes
char*
#endif
);
#endif
#ifdef USE_DYNAMIC_LOADER
extern XLCd _fallcDynamicLoader(
#if NeedFunctionPrototypes
char*
#endif
);
#endif
@ -144,7 +120,7 @@ extern XLCd _fallcDynamicLoader(
*/
void
_fallcInitLoader()
_fallcInitLoader(void)
{
#ifdef USE_GENERIC_LOADER
_fallcAddLoader(_fallcGenericLoader, XlcHead);
@ -174,10 +150,6 @@ _fallcInitLoader()
#ifdef sun
_fallcAddLoader(_falsunOsDynamicLoad, XlcHead);
#endif /* sun */
#ifdef AIXV3
_fallcAddLoader(_falaixOsDynamicLoad, XlcHead);
#endif /* AIXV3 */
#endif /* DYNAMIC_LOAD */
#ifdef USE_DYNAMIC_LOADER

View file

@ -53,10 +53,7 @@
#include <X11/Xatom.h>
static XPointer *
alloc_list(is_wide_char, count, nitems)
Bool is_wide_char;
int count;
int nitems;
alloc_list(Bool is_wide_char, int count, int nitems)
{
if (is_wide_char) {
wchar_t **wstr_list;
@ -90,11 +87,7 @@ alloc_list(is_wide_char, count, nitems)
}
static void
copy_list(is_wide_char, text, list, count)
Bool is_wide_char;
XPointer text;
XPointer *list;
int count;
copy_list(Bool is_wide_char, XPointer text, XPointer *list, int count)
{
int length;
@ -128,13 +121,13 @@ copy_list(is_wide_char, text, list, count)
}
static int
_XTextPropertyToTextList(lcd, dpy, text_prop, to_type, list_ret, count_ret)
XLCd lcd;
Display *dpy;
XTextProperty *text_prop;
char *to_type;
XPointer **list_ret;
int *count_ret;
_XTextPropertyToTextList(
XLCd lcd,
Display *dpy,
XTextProperty *text_prop,
char *to_type,
XPointer **list_ret,
int *count_ret)
{
XlcConv conv;
char *from_type;
@ -231,33 +224,31 @@ _XTextPropertyToTextList(lcd, dpy, text_prop, to_type, list_ret, count_ret)
}
int
_falmbTextPropertyToTextList(lcd, dpy, text_prop, list_ret, count_ret)
XLCd lcd;
Display *dpy;
XTextProperty *text_prop;
char ***list_ret;
int *count_ret;
_falmbTextPropertyToTextList(
XLCd lcd,
Display *dpy,
XTextProperty *text_prop,
char ***list_ret,
int *count_ret)
{
return _XTextPropertyToTextList(lcd, dpy, text_prop, XlcNMultiByte,
(XPointer **) list_ret, count_ret);
}
int
_falwcTextPropertyToTextList(lcd, dpy, text_prop, list_ret, count_ret)
XLCd lcd;
Display *dpy;
XTextProperty *text_prop;
wchar_t ***list_ret;
int *count_ret;
_falwcTextPropertyToTextList(
XLCd lcd,
Display *dpy,
XTextProperty *text_prop,
wchar_t ***list_ret,
int *count_ret)
{
return _XTextPropertyToTextList(lcd, dpy, text_prop, XlcNWideChar,
(XPointer **) list_ret, count_ret);
}
void
_falwcFreeStringList(lcd, list)
XLCd lcd;
wchar_t **list;
_falwcFreeStringList(XLCd lcd, wchar_t **list)
{
if (list) {
if (*list)

View file

@ -63,40 +63,30 @@
typedef struct _XLCdPublicMethodsRec *XLCdPublicMethods;
typedef XLCd (*XlcPubCreateProc)(
#if NeedFunctionPrototypes
char* /* name */,
XLCdMethods /* methods */
#endif
);
typedef Bool (*XlcPubInitializeProc)(
#if NeedFunctionPrototypes
XLCd /* lcd */
#endif
);
typedef void (*XlcPubDestroyProc)(
#if NeedFunctionPrototypes
XLCd /* lcd */
#endif
);
typedef char* (*XlcPubGetValuesProc)(
#if NeedFunctionPrototypes
XLCd /* lcd */,
XlcArgList /* args */,
int /* num_args */
#endif
);
typedef void (*XlcPubGetResourceProc)(
#if NeedFunctionPrototypes
XLCd /* lcd */,
char* /* category */,
char* /* class */,
char*** /* value */,
int* /* count */
#endif
);
typedef struct _XLCdPublicMethodsPart {
@ -139,137 +129,103 @@ extern XLCdMethods _fallcPublicMethods;
_XFUNCPROTOBEGIN
extern XLCd _fallcCreateLC(
#if NeedFunctionPrototypes
char* /* name */,
XLCdMethods /* methods */
#endif
);
extern void _fallcDestroyLC(
#if NeedFunctionPrototypes
XLCd /* lcd */
#endif
);
extern Bool _fallcParseCharSet(
#if NeedFunctionPrototypes
XlcCharSet /* charset */
#endif
);
extern XlcCharSet _fallcCreateDefaultCharSet(
#if NeedFunctionPrototypes
char* /* name */,
char* /* control_sequence */
#endif
);
extern XlcCharSet _fallcAddCT(
#if NeedFunctionPrototypes
char* /* name */,
char* /* control_sequence */
#endif
);
extern XrmMethods _falrmDefaultInitParseInfo(
#if NeedFunctionPrototypes
XLCd /* lcd */,
XPointer* /* state */
#endif
);
extern int _falmbTextPropertyToTextList(
#if NeedFunctionPrototypes
XLCd /* lcd */,
Display* /* dpy */,
XTextProperty* /* text_prop */,
char*** /* list_ret */,
int* /* count_ret */
#endif
);
extern int _falwcTextPropertyToTextList(
#if NeedFunctionPrototypes
XLCd /* lcd */,
Display* /* dpy */,
XTextProperty* /* text_prop */,
wchar_t*** /* list_ret */,
int* /* count_ret */
#endif
);
extern int _falmbTextListToTextProperty(
#if NeedFunctionPrototypes
XLCd /* lcd */,
Display* /* dpy */,
char** /* list */,
int /* count */,
XICCEncodingStyle /* style */,
XTextProperty* /* text_prop */
#endif
);
extern int _falwcTextListToTextProperty(
#if NeedFunctionPrototypes
XLCd /* lcd */,
Display* /* dpy */,
wchar_t** /* list */,
int /* count */,
XICCEncodingStyle /* style */,
XTextProperty* /* text_prop */
#endif
);
extern void _falwcFreeStringList(
#if NeedFunctionPrototypes
XLCd /* lcd */,
wchar_t** /* list */
#endif
);
extern int _fallcResolveLocaleName(
#if NeedFunctionPrototypes
char* /* lc_name */,
char* /* full_name */,
char* /* language */,
char* /* territory */,
char* /* codeset */
#endif
);
extern int _fallcResolveDBName(
#if NeedFunctionPrototypes
char* /* lc_name */,
char* /* file_name */
#endif
);
extern int _fallcResolveI18NPath(
#if NeedFunctionPrototypes
char* /* path_name */
#endif
);
extern XPointer _fallcCreateLocaleDataBase(
#if NeedFunctionPrototypes
XLCd /* lcd */
#endif
);
extern void _fallcDestroyLocaleDataBase(
#if NeedFunctionPrototypes
XLCd /* lcd */
#endif
);
extern void _fallcGetLocaleDataBase(
#if NeedFunctionPrototypes
XLCd /* lcd */,
char* /* category */,
char* /* name */,
char*** /* value */,
int* /* count */
#endif
);
_XFUNCPROTOEND

View file

@ -50,15 +50,8 @@
#include "_fallibint.h"
#include "_fallcPubI.h"
#if NeedVarargsPrototypes
char *
_falGetLCValues(XLCd lcd, ...)
#else
char *
_falGetLCValues(lcd, va_alist)
XLCd lcd;
va_dcl
#endif
{
va_list var;
XlcArgList args;
@ -85,8 +78,7 @@ _falGetLCValues(lcd, va_alist)
}
void
_fallcDestroyLC(lcd)
XLCd lcd;
_fallcDestroyLC(XLCd lcd)
{
XLCdPublicMethods methods = (XLCdPublicMethods) lcd->methods;
@ -94,9 +86,7 @@ _fallcDestroyLC(lcd)
}
XLCd
_fallcCreateLC(name, methods)
char *name;
XLCdMethods methods;
_fallcCreateLC(char *name, XLCdMethods methods)
{
XLCdPublicMethods pub_methods = (XLCdPublicMethods) methods;
XLCd lcd;
@ -107,21 +97,21 @@ _fallcCreateLC(name, methods)
if (lcd->core->name == NULL) {
lcd->core->name = (char*) Xmalloc(strlen(name) + 1);
if (lcd->core->name == NULL)
goto err;
if (lcd->core->name == NULL) {
_fallcDestroyLC(lcd);
return (XLCd) NULL;
}
strcpy(lcd->core->name, name);
}
if (lcd->methods == NULL)
lcd->methods = methods;
if ((*pub_methods->pub.initialize)(lcd) == False)
goto err;
if ((*pub_methods->pub.initialize)(lcd) == False) {
_fallcDestroyLC(lcd);
return (XLCd) NULL;
}
return lcd;
err:
_fallcDestroyLC(lcd);
return (XLCd) NULL;
}

View file

@ -87,16 +87,13 @@ static XLCdPublicMethodsRec publicMethods = {
XLCdMethods _fallcPublicMethods = (XLCdMethods) &publicMethods;
static char *
default_string(lcd)
XLCd lcd;
default_string(XLCd lcd)
{
return XLC_PUBLIC(lcd, default_string);
}
static XLCd
create(name, methods)
char *name;
XLCdMethods methods;
create(char *name, XLCdMethods methods)
{
XLCd lcd;
XLCdPublicMethods new;
@ -107,26 +104,25 @@ create(name, methods)
bzero((char *) lcd, sizeof(XLCdRec));
lcd->core = (XLCdCore) Xmalloc(sizeof(XLCdPublicRec));
if (lcd->core == NULL)
goto err;
if (lcd->core == NULL){
Xfree(lcd);
return (XLCd) NULL;
}
bzero((char *) lcd->core, sizeof(XLCdPublicRec));
new = (XLCdPublicMethods) Xmalloc(sizeof(XLCdPublicMethodsRec));
if (new == NULL)
goto err;
if (new == NULL){
Xfree(lcd);
return (XLCd) NULL;
}
*new = *((XLCdPublicMethods) methods);
lcd->methods = (XLCdMethods) new;
return lcd;
err:
Xfree(lcd);
return (XLCd) NULL;
}
static Bool
load_public(lcd)
XLCd lcd;
load_public(XLCd lcd)
{
XLCdPublicPart *pub = XLC_PUBLIC_PART(lcd);
char **values, *str;
@ -160,8 +156,7 @@ load_public(lcd)
}
static Bool
initialize_core(lcd)
XLCd lcd;
initialize_core(XLCd lcd)
{
XLCdMethods methods = lcd->methods;
XLCdMethods core = &publicMethods.core;
@ -202,8 +197,7 @@ initialize_core(lcd)
extern Bool _fallcInitCTInfo();
static Bool
initialize(lcd)
XLCd lcd;
initialize(XLCd lcd)
{
XLCdPublicMethodsPart *methods = XLC_PUBLIC_METHODS(lcd);
XLCdPublicMethodsPart *pub_methods = &publicMethods.pub;
@ -261,8 +255,7 @@ initialize(lcd)
}
static void
destroy_core(lcd)
XLCd lcd;
destroy_core(XLCd lcd)
{
if (lcd->core) {
if (lcd->core->name)
@ -277,8 +270,7 @@ destroy_core(lcd)
}
static void
destroy(lcd)
XLCd lcd;
destroy(XLCd lcd)
{
XLCdPublicPart *pub = XLC_PUBLIC_PART(lcd);
@ -310,10 +302,7 @@ static XlcResource resources[] = {
};
static char *
get_values(lcd, args, num_args)
register XLCd lcd;
register XlcArgList args;
register int num_args;
get_values(XLCd lcd, XlcArgList args, int num_args)
{
XLCdPublic pub = (XLCdPublic) lcd->core;

View file

@ -92,11 +92,9 @@ typedef struct _UDCArea {
typedef struct _XlcCharSetRec *XlcCharSet;
typedef char* (*XlcGetCSValuesProc)(
#if NeedFunctionPrototypes
XlcCharSet /* charset */,
XlcArgList /* args */,
int /* num_args */
#endif
);
typedef struct _XlcCharSetRec {
@ -122,22 +120,17 @@ typedef struct _XlcCharSetRec {
typedef struct _XlcConvRec *XlcConv;
typedef XlcConv (*XlcOpenConverterProc)(
#if NeedFunctionPrototypes
XLCd /* from_lcd */,
char* /* from_type */,
XLCd /* to_lcd */,
char* /* to_type */
#endif
);
typedef void (*XlcCloseConverterProc)(
#if NeedFunctionPrototypes
XlcConv /* conv */
#endif
);
typedef int (*XlcConvertProc)(
#if NeedFunctionPrototypes
XlcConv /* conv */,
XPointer* /* from */,
int* /* from_left */,
@ -145,13 +138,10 @@ typedef int (*XlcConvertProc)(
int* /* to_left */,
XPointer* /* args */,
int /* num_args */
#endif
);
typedef void (*XlcResetConverterProc)(
#if NeedFunctionPrototypes
XlcConv /* conv */
#endif
);
typedef struct _XlcConvMethodsRec{
@ -181,60 +171,43 @@ typedef struct _XlcConvRec {
_XFUNCPROTOBEGIN
extern Bool _falInitOM(
#if NeedFunctionPrototypes
XLCd /* lcd */
#endif
);
extern Bool _XInitIM(
#if NeedFunctionPrototypes
XLCd /* lcd */
#endif
);
extern char *_falGetLCValues(
#if NeedVarargsPrototypes
XLCd /* lcd */,
...
#endif
);
extern XlcCharSet _fallcGetCharSet(
#if NeedFunctionPrototypes
char* /* name */
#endif
);
extern Bool _fallcAddCharSet(
#if NeedFunctionPrototypes
XlcCharSet /* charset */
#endif
);
extern char *_fallcGetCSValues(
#if NeedVarargsPrototypes
XlcCharSet /* charset */,
...
#endif
);
extern XlcConv _fallcOpenConverter(
#if NeedFunctionPrototypes
XLCd /* from_lcd */,
char* /* from_type */,
XLCd /* to_lcd */,
char* /* to_type */
#endif
);
extern void _fallcCloseConverter(
#if NeedFunctionPrototypes
XlcConv /* conv */
#endif
);
extern int _fallcConvert(
#if NeedFunctionPrototypes
XlcConv /* conv */,
XPointer* /* from */,
int* /* from_left */,
@ -242,68 +215,51 @@ extern int _fallcConvert(
int* /* to_left */,
XPointer* /* args */,
int /* num_args */
#endif
);
extern void _fallcResetConverter(
#if NeedFunctionPrototypes
XlcConv /* conv */
#endif
);
extern Bool _fallcSetConverter(
#if NeedFunctionPrototypes
XLCd /* from_lcd */,
char* /* from_type */,
XLCd /* to_lcd */,
char* /* to_type */,
XlcOpenConverterProc /* open_converter */
#endif
);
extern void _fallcGetResource(
#if NeedFunctionPrototypes
XLCd /* lcd */,
char* /* category */,
char* /* class */,
char*** /* value */,
int* /* count */
#endif
);
extern char *_fallcFileName(
#if NeedFunctionPrototypes
XLCd /* lcd */,
char* /* category */
#endif
);
extern int _falwcslen(
#if NeedFunctionPrototypes
wchar_t* /* wstr */
#endif
);
extern wchar_t *_falwcscpy(
#if NeedFunctionPrototypes
wchar_t* /* wstr1 */,
wchar_t* /* wstr2 */
#endif
);
extern int _fallcCompareISOLatin1(
#if NeedFunctionPrototypes
char* /* str1 */,
char* /* str2 */
#endif
);
extern int _fallcNCompareISOLatin1(
#if NeedFunctionPrototypes
char* /* str1 */,
char* /* str2 */,
int /* len */
#endif
);
_XFUNCPROTOEND

View file

@ -57,17 +57,13 @@ typedef struct _StateRec {
} StateRec, *State;
static void
mbinit(state)
XPointer state;
mbinit(XPointer state)
{
_fallcResetConverter(((State) state)->conv);
}
static char
mbchar(state, str, lenp)
XPointer state;
char *str;
int *lenp;
mbchar(XPointer state, char *str, char *lenp)
{
XlcConv conv = ((State) state)->conv;
XlcCharSet charset;
@ -91,21 +87,18 @@ mbchar(state, str, lenp)
}
static void
mbfinish(state)
XPointer state;
mbfinish(XPointer state)
{
}
static char *
lcname(state)
XPointer state;
lcname(XPointer state)
{
return ((State) state)->lcd->core->name;
}
static void
destroy(state)
XPointer state;
destroy(XPointer state)
{
_fallcCloseConverter(((State) state)->conv);
_falCloseLC(((State) state)->lcd);
@ -121,9 +114,7 @@ static XrmMethodsRec rm_methods = {
} ;
XrmMethods
_falrmDefaultInitParseInfo(lcd, rm_state)
XLCd lcd;
XPointer *rm_state;
_falrmDefaultInitParseInfo(XLCd lcd, XPointer *rm_state)
{
State state;

View file

@ -135,22 +135,22 @@ static CodeSet wc_codeset();
static int
sjis_mbstowcs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
sjis_mbstowcs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
XLCd lcd = (XLCd)conv->state;
register int chr_len = 0;
register int outbuf = 0;
register int shift_mult = 0;
register Uint chrcode = 0;
int chr_len = 0;
int outbuf = 0;
int shift_mult = 0;
Uint chrcode = 0;
Uchar ch, ch2;
Uint wc_encode = 0;
@ -276,20 +276,20 @@ sjis_mbstowcs(conv, from, from_left, to, to_left, args, num_args)
#define byte2 (byte1 == 0)
static int
sjis_wcstombs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
sjis_wcstombs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
register wchar_t *inbufptr = (wchar_t *) *from;
register XPointer outbufptr = *to;
wchar_t *inbufptr = (wchar_t *) *from;
XPointer outbufptr = *to;
XPointer outbuf_base = outbufptr;
wchar_t wch;
register length;
int length;
Uchar tmp;
Uchar t1, t2;
int num_conv;
@ -356,74 +356,60 @@ sjis_wcstombs(conv, from, from_left, to, to_left, args, num_args)
* sjis<->jis conversion for widechar kanji (See Note at top of file)
*/
static void
sjis_to_jis(p1, p2)
Uchar *p1;
Uchar *p2;
sjis_to_jis(Uchar *p1, Uchar *p2)
{
register Uchar c1 = *p1;
register Uchar c2 = *p2;
register Uchar adjust = c2 < 0x9f;
register Uchar rowOffset = c1 < 0xa0 ? 0x70 : 0xb0;
register Uchar cellOffset = adjust ? (0x1f + (c2 > 0x7f)) : 0x7e;
Uchar c1 = *p1;
Uchar c2 = *p2;
Uchar adjust = c2 < 0x9f;
Uchar rowOffset = c1 < 0xa0 ? 0x70 : 0xb0;
Uchar cellOffset = adjust ? (0x1f + (c2 > 0x7f)) : 0x7e;
*p1 = ((c1 - rowOffset) << 1) - adjust;
*p2 -= cellOffset;
}
static void
jis_to_sjis(p1, p2)
Uchar *p1;
Uchar *p2;
jis_to_sjis(Uchar *p1, Uchar *p2)
{
register Uchar c1 = *p1;
register Uchar c2 = *p2;
register Uchar rowOffset = c1 < 0x5f ? 0x70 : 0xb0;
register Uchar cellOffset = c1 % 2 ? 0x1f + (c2 > 0x5f) : 0x7e;
Uchar c1 = *p1;
Uchar c2 = *p2;
Uchar rowOffset = c1 < 0x5f ? 0x70 : 0xb0;
Uchar cellOffset = c1 % 2 ? 0x1f + (c2 > 0x5f) : 0x7e;
*p1 = ((Uchar)(c1 + 1) >> 1) + rowOffset;
*p2 = c2 + cellOffset;
}
static CodeSet
wc_codeset(lcd, wch)
XLCd lcd;
wchar_t wch;
wc_codeset(XLCd lcd, wchar_t wch)
{
register CodeSet *codesets = XLC_GENERIC(lcd, codeset_list);
#if !defined(__sony_news) || defined(SVR4)
register int end = XLC_GENERIC(lcd, codeset_num);
register Ulong widech = (Ulong)(wch & XLC_GENERIC(lcd, wc_encode_mask));
CodeSet *codesets = XLC_GENERIC(lcd, codeset_list);
int end = XLC_GENERIC(lcd, codeset_num);
Ulong widech = (Ulong)(wch & XLC_GENERIC(lcd, wc_encode_mask));
for (; --end >= 0; codesets++)
if ( widech == (*codesets)->wc_encoding )
return *codesets;
return NULL;
#else
if( iskanji(wch >> 8) )
return( codesets[1] );
if( iskana(wch & 0xff) )
return( codesets[2] );
return( codesets[0] );
#endif
}
static int
sjis_mbtocs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
sjis_mbtocs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
XLCd lcd = (XLCd)conv->state;
XlcCharSet charset = NULL;
int char_size = 0;
int unconv_num = 0;
register char *src = *from, *dst = *to;
char *src = *from, *dst = *to;
CodeSet *codesets = XLC_GENERIC(lcd, codeset_list);
int codeset_num = XLC_GENERIC(lcd, codeset_num);
@ -497,14 +483,14 @@ sjis_mbtocs(conv, from, from_left, to, to_left, args, num_args)
static int
sjis_mbstocs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
sjis_mbstocs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
XLCd lcd = (XLCd) conv->state;
char *tmp_from, *tmp_to;
@ -556,21 +542,21 @@ sjis_mbstocs(conv, from, from_left, to, to_left, args, num_args)
}
static int
sjis_wcstocs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
sjis_wcstocs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
XLCd lcd = (XLCd) conv->state;
wchar_t *wcptr = *((wchar_t **)from);
register char *bufptr = *((char **) to);
char *bufptr = *((char **) to);
wchar_t wch;
char *tmpptr;
register length;
int length;
CodeSet codeset;
Ulong wc_encoding;
int buf_len = *to_left;
@ -584,7 +570,6 @@ sjis_wcstocs(conv, from, from_left, to, to_left, args, num_args)
if (wcstr_len < buf_len / codeset->length)
buf_len = wcstr_len * codeset->length;
#if !defined(__sony_news) || defined(SVR4)
wc_encoding = codeset->wc_encoding;
for ( ; wcstr_len > 0 && buf_len > 0; wcptr++, wcstr_len--) {
@ -604,25 +589,6 @@ sjis_wcstocs(conv, from, from_left, to, to_left, args, num_args)
wch >>= (wchar_t)XLC_GENERIC(lcd, wc_shift_bits);
}
}
#else
length = codeset->length;
for( ; wcstr_len > 0 && buf_len > 0; wcptr++, wcstr_len-- ) {
wch = *wcptr;
if( codeset != wc_codeset( lcd, wch ) )
break;
buf_len -= length;
if( length == 2 ) {
unsigned short code;
code = sjis2jis( wch & 0xffff );
*bufptr++ = code >> 8;
*bufptr++ = code & 0xff;
}
else
*bufptr++ = wch & 0xff;
}
#endif
if (num_args > 0)
*((XlcCharSet *) args[0]) = *codeset->charset_list;
@ -637,13 +603,11 @@ sjis_wcstocs(conv, from, from_left, to, to_left, args, num_args)
}
static CodeSet
GetCodeSetFromCharSet(lcd, charset)
XLCd lcd;
XlcCharSet charset;
GetCodeSetFromCharSet(XLCd lcd, XlcCharSet charset)
{
register CodeSet *codeset = XLC_GENERIC(lcd, codeset_list);
register XlcCharSet *charset_list;
register codeset_num, num_charsets;
CodeSet *codeset = XLC_GENERIC(lcd, codeset_list);
XlcCharSet *charset_list;
int codeset_num, num_charsets;
codeset_num = XLC_GENERIC(lcd, codeset_num);
@ -661,20 +625,20 @@ GetCodeSetFromCharSet(lcd, charset)
static int
sjis_cstombs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
char **from;
int *from_left;
char **to;
int *to_left;
XPointer *args;
int num_args;
sjis_cstombs(
XlcConv conv,
char **from,
int *from_left,
char **to,
int *to_left,
XPointer *args,
int num_args)
{
XLCd lcd = (XLCd) conv->state;
register char *csptr = *from;
register char *bufptr = *to;
char *csptr = *from;
char *bufptr = *to;
int csstr_len = *from_left;
register buf_len = *to_left;
int buf_len = *to_left;
int length;
CodeSet codeset;
EncodingType type;
@ -719,21 +683,21 @@ sjis_cstombs(conv, from, from_left, to, to_left, args, num_args)
}
static int
sjis_cstowcs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
sjis_cstowcs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
XLCd lcd = (XLCd) conv->state;
register char *csptr = (char *) *from;
char *csptr = (char *) *from;
wchar_t *bufptr = (wchar_t *) *to;
wchar_t *toptr = (wchar_t *) *to;
int csstr_len = *from_left;
register buf_len = *to_left;
int buf_len = *to_left;
wchar_t wch;
int length;
Ulong wc_shift_bits = (int)XLC_GENERIC(lcd, wc_shift_bits);
@ -779,7 +743,6 @@ sjis_cstowcs(conv, from, from_left, to, to_left, args, num_args)
/*
* Stripped down Direct CT converters for SJIS
*
*/
#define BADCHAR(min_ch, c) (BIT8OFF(c) < (char)min_ch && BIT8OFF(c) != 0x0 && \
@ -846,8 +809,7 @@ static enum { Ascii, Kanji, Kana, Userdef } cs_nums;
* initCTptr(): Set ctptr[] to point at ctdata[], indexed by codeset_num.
*/
static void
initCTptr(lcd)
XLCd lcd;
initCTptr(XLCd lcd)
{
int num_codesets = XLC_GENERIC(lcd, codeset_num);
int num_charsets;
@ -892,22 +854,22 @@ initCTptr(lcd)
static int
sjis_mbstocts(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
sjis_mbstocts(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
register ct_len = *to_left;
int ct_len = *to_left;
int cs_num;
int clen;
int unconv_num = 0;
int num_conv;
XPointer inbufptr = *from;
register char *ctptr = *to;
char *ctptr = *to;
XPointer ct_base = ctptr;
StateRec ct_state;
@ -1027,21 +989,21 @@ sjis_mbstocts(conv, from, from_left, to, to_left, args, num_args)
#define byte2 (byte1 == 0)
static int
sjis_wcstocts(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
sjis_wcstocts(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
register ct_len = *to_left;
register wchar_t *inbufptr = (wchar_t *) *from;
register char *ctptr = *to;
int ct_len = *to_left;
wchar_t *inbufptr = (wchar_t *) *from;
char *ctptr = *to;
XPointer ct_base = ctptr;
wchar_t wch;
register length;
int length;
Uchar tmp;
Uchar t1 = 0, t2;
int num_conv;
@ -1150,20 +1112,20 @@ sjis_wcstocts(conv, from, from_left, to, to_left, args, num_args)
#define SKIP_P(str) while (*(str) >= 0x30 && *(str) <= 0x3f) (str)++;
static int
sjis_ctstombs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
sjis_ctstombs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
register XPointer inbufptr = *from;
register XPointer outbufptr = *to;
XPointer inbufptr = *from;
XPointer outbufptr = *to;
XPointer inbuf_base;
XPointer outbuf_base = outbufptr;
register clen, length;
int clen, length;
int unconv_num = 0;
int num_conv;
unsigned int ct_seglen = 0;
@ -1257,27 +1219,27 @@ sjis_ctstombs(conv, from, from_left, to, to_left, args, num_args)
static int
sjis_ctstowcs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
sjis_ctstowcs(
XlcConv conv,
XPointer *from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
XLCd lcd = (XLCd)conv->state;
Ulong wc_shift_bits = XLC_GENERIC(lcd, wc_shift_bits);
register XPointer inbufptr = *from;
XPointer inbufptr = *from;
XPointer inbuf_base;
register wchar_t *outbufptr = (wchar_t *) *to;
wchar_t *outbufptr = (wchar_t *) *to;
wchar_t *outbuf_base = outbufptr;
register clen, length;
int clen, length;
int num_conv;
int unconv_num = 0;
unsigned int ct_seglen = 0;
Uchar ct_type = 0;
register shift_mult;
int shift_mult;
wchar_t wc_tmp;
wchar_t wch;
Ulong wc_encoding;
@ -1349,7 +1311,6 @@ sjis_ctstowcs(conv, from, from_left, to, to_left, args, num_args)
(*from_left) -= 2;
continue;
}
#if !defined(__sony_news) || defined(SVR4)
wc_encoding = (ctdp == ctdptr[Kana] && isleftside(*inbufptr)) ?
ctdptr[Ascii]->wc_encoding : ctdp->wc_encoding;
@ -1363,16 +1324,6 @@ sjis_ctstowcs(conv, from, from_left, to, to_left, args, num_args)
shift_mult--;
} while (--clen);
*outbufptr++ = wch | wc_encoding;
#else
if( length == 1 )
*outbufptr++ = (unsigned char)*inbufptr++;
else if( length == 2 ) {
unsigned short code;
code = (*inbufptr << 8) | *(inbufptr+1);
*outbufptr++ = jis2sjis( code );
inbufptr += 2;
}
#endif
}
*to = (XPointer)outbufptr;
@ -1385,17 +1336,14 @@ sjis_ctstowcs(conv, from, from_left, to, to_left, args, num_args)
#undef BADCHAR
static void
close_converter(conv)
XlcConv conv;
close_converter(XlcConv conv)
{
Xfree((char *) conv);
}
static XlcConv
create_conv(lcd, methods)
XLCd lcd;
XlcConvMethods methods;
create_conv(XLCd lcd, XlcConvMethods methods)
{
XlcConv conv;
@ -1428,118 +1376,73 @@ static XlcConvMethodsRec conv_methods[] = {
static XlcConv
open_mbstocs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_mbstocs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[MBSTOCS]);
}
static XlcConv
open_wcstocs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_wcstocs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[WCSTOCS]);
}
static XlcConv
open_mbtocs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_mbtocs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[MBTOCS]);
}
static XlcConv
open_cstombs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_cstombs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[CSTOMBS]);
}
static XlcConv
open_cstowcs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_cstowcs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[CSTOWCS]);
}
static XlcConv
open_mbstowcs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_mbstowcs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[MBSTOWCS]);
}
static XlcConv
open_wcstombs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_wcstombs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[WCSTOMBS]);
}
static XlcConv
open_wcstocts(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_wcstocts(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[WCSTOCTS]);
}
static XlcConv
open_mbstocts(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_mbstocts(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[MBSTOCTS]);
}
static XlcConv
open_ctstombs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_ctstombs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[CTSTOMBS]);
}
static XlcConv
open_ctstowcs(from_lcd, from_type, to_lcd, to_type)
XLCd from_lcd;
char *from_type;
XLCd to_lcd;
char *to_type;
open_ctstowcs(XLCd from_lcd, char *from_type, XLCd to_lcd, char *to_type)
{
return create_conv(from_lcd, &conv_methods[CTSTOWCS]);
}
XLCd
_fallcSjisLoader(name)
char *name;
_fallcSjisLoader(char *name)
{
XLCd lcd;
CodeSet *codeset_list;

View file

@ -51,11 +51,7 @@
#include "_fallcPubI.h"
int
_fallcmbtowc(lcd, wstr, str, len)
XLCd lcd;
wchar_t *wstr;
char *str;
int len;
_fallcmbtowc(XLCd lcd, wchar_t *wstr, char *str, int len)
{
static XLCd last_lcd = NULL;
static XlcConv conv = NULL;
@ -96,10 +92,7 @@ _fallcmbtowc(lcd, wstr, str, len)
}
int
_fallcwctomb(lcd, str, wc)
XLCd lcd;
char *str;
wchar_t wc;
_fallcwctomb(XLCd lcd, char *str, wchar_t wc)
{
static XLCd last_lcd = NULL;
static XlcConv conv = NULL;
@ -139,11 +132,7 @@ _fallcwctomb(lcd, str, wc)
}
int
_fallcmbstowcs(lcd, wstr, str, len)
XLCd lcd;
wchar_t *wstr;
char *str;
int len;
_fallcmbstowcs(XLCd lcd, wchar_t *wstr, char *str, int len)
{
XlcConv conv;
XPointer from, to;
@ -178,11 +167,7 @@ _fallcmbstowcs(lcd, wstr, str, len)
}
int
_fallcwcstombs(lcd, str, wstr, len)
XLCd lcd;
char *str;
wchar_t *wstr;
int len;
_fallcwcstombs(XLCd lcd, char *str, wchar_t *wstr, int len)
{
XlcConv conv;
XPointer from, to;
@ -218,51 +203,37 @@ _fallcwcstombs(lcd, str, wstr, len)
int
_falmbtowc(wstr, str, len)
wchar_t *wstr;
char *str;
int len;
_falmbtowc(wchar_t *wstr, char *str, int len)
{
return _fallcmbtowc((XLCd) NULL, wstr, str, len);
}
int
_falmblen(str, len)
char *str;
int len;
_falmblen(char *str, int len)
{
return _falmbtowc((wchar_t *) NULL, str, len);
}
int
_falwctomb(str, wc)
char *str;
wchar_t wc;
_falwctomb(char *str, wchar_t wc)
{
return _fallcwctomb((XLCd) NULL, str, wc);
}
int
_falmbstowcs(wstr, str, len)
wchar_t *wstr;
char *str;
int len;
_falmbstowcs(wchar_t *wstr, char *str, int len)
{
return _fallcmbstowcs((XLCd) NULL, wstr, str, len);
}
int
_falwcstombs(str, wstr, len)
char *str;
wchar_t *wstr;
int len;
_falwcstombs(char *str, wchar_t *wstr, int len)
{
return _fallcwcstombs((XLCd) NULL, str, wstr, len);
}
wchar_t *
_falwcscpy(wstr1, wstr2)
register wchar_t *wstr1, *wstr2;
_falwcscpy(wchar_t *wstr1, wchar_t *wstr2)
{
wchar_t *wstr_tmp = wstr1;
@ -273,9 +244,7 @@ _falwcscpy(wstr1, wstr2)
}
wchar_t *
_falwcsncpy(wstr1, wstr2, len)
register wchar_t *wstr1, *wstr2;
register len;
_falwcsncpy(wchar_t *wstr1, wchar_t *wstr2, int len)
{
wchar_t *wstr_tmp = wstr1;
@ -290,10 +259,9 @@ _falwcsncpy(wstr1, wstr2, len)
}
int
_falwcslen(wstr)
register wchar_t *wstr;
_falwcslen(wchar_t *wstr)
{
register wchar_t *wstr_ptr = wstr;
wchar_t *wstr_ptr = wstr;
while (*wstr_ptr)
wstr_ptr++;
@ -302,8 +270,7 @@ _falwcslen(wstr)
}
int
_falwcscmp(wstr1, wstr2)
register wchar_t *wstr1, *wstr2;
_falwcscmp(wchar_t *wstr1, wchar_t *wstr2)
{
for ( ; *wstr1 && *wstr2; wstr1++, wstr2++)
if (*wstr1 != *wstr2)
@ -313,9 +280,7 @@ _falwcscmp(wstr1, wstr2)
}
int
_falwcsncmp(wstr1, wstr2, len)
register wchar_t *wstr1, *wstr2;
register len;
_falwcsncmp(wchar_t *wstr1, wchar_t *wstr2, int len)
{
for ( ; *wstr1 && *wstr2 && len > 0; wstr1++, wstr2++, len--)
if (*wstr1 != *wstr2)

View file

@ -54,14 +54,11 @@
#include <stdio.h>
static int
get_buf_size(is_wide_char, list, count)
Bool is_wide_char;
XPointer list;
int count;
get_buf_size(Bool is_wide_char, XPointer list, int count)
{
register length = 0;
register char **mb_list;
register wchar_t **wc_list;
int length = 0;
char **mb_list;
wchar_t **wc_list;
if (list == NULL)
return 0;
@ -87,14 +84,14 @@ get_buf_size(is_wide_char, list, count)
}
static int
_XTextListToTextProperty(lcd, dpy, from_type, list, count, style, text_prop)
XLCd lcd;
Display *dpy;
char *from_type;
XPointer list;
int count;
XICCEncodingStyle style;
XTextProperty *text_prop;
_XTextListToTextProperty(
XLCd lcd,
Display *dpy,
char *from_type,
XPointer list,
int count,
XICCEncodingStyle style,
XTextProperty *text_prop)
{
Atom encoding;
XlcConv conv;
@ -103,7 +100,7 @@ _XTextListToTextProperty(lcd, dpy, from_type, list, count, style, text_prop)
wchar_t **wc_list;
XPointer from;
char *to, *buf, *value;
int from_left, to_left, buf_len, nitems, unconv_num, ret, i;
int from_left, to_left, buf_len, nitems, unconv_num, ret, i, retry, done =0;
Bool is_wide_char = False;
if (strcmp(XlcNWideChar, from_type) == 0)
@ -138,7 +135,7 @@ _XTextListToTextProperty(lcd, dpy, from_type, list, count, style, text_prop)
mb_list++;
}
unconv_num = 0;
goto done;
done++;
}
break;
default:
@ -148,107 +145,111 @@ _XTextListToTextProperty(lcd, dpy, from_type, list, count, style, text_prop)
if (count < 1) {
nitems = 0;
goto done;
done++;
}
retry:
conv = _fallcOpenConverter(lcd, from_type, lcd, to_type);
if (conv == NULL) {
if(done == 1){
if (nitems <= 0)
nitems = 1;
value = (char *) Xmalloc(nitems);
if (value == NULL) {
Xfree(buf);
return XNoMemory;
}
if (nitems == 1)
*value = 0;
else
memcpy(value, buf, nitems);
nitems--;
Xfree(buf);
return XConverterNotFound;
text_prop->value = (unsigned char *) value;
text_prop->encoding = encoding;
text_prop->format = 8;
text_prop->nitems = nitems;
return unconv_num;
}
if (is_wide_char)
wc_list = (wchar_t **) list;
else
mb_list = (char **) list;
to = buf;
to_left = buf_len;
unconv_num = 0;
for (i = 1; to_left > 0; i++) {
if (is_wide_char) {
from = (XPointer) *wc_list;
from_left = _falwcslen(*wc_list);
wc_list++;
} else {
from = (XPointer) *mb_list;
from_left = strlen(*mb_list);
mb_list++;
do{
retry = 0;
conv = _fallcOpenConverter(lcd, from_type, lcd, to_type);
if (conv == NULL) {
Xfree(buf);
return XConverterNotFound;
}
ret = _fallcConvert(conv, &from, &from_left, (XPointer *) &to, &to_left,
if (is_wide_char)
wc_list = (wchar_t **) list;
else
mb_list = (char **) list;
to = buf;
to_left = buf_len;
unconv_num = 0;
for (i = 1; to_left > 0; i++) {
if (is_wide_char) {
from = (XPointer) *wc_list;
from_left = _falwcslen(*wc_list);
wc_list++;
} else {
from = (XPointer) *mb_list;
from_left = strlen(*mb_list);
mb_list++;
}
ret = _fallcConvert(conv, &from, &from_left, (XPointer *) &to, &to_left,
NULL, 0);
if (ret < 0)
continue;
if (ret < 0)
continue;
if (ret > 0 && style == XStdICCTextStyle && encoding == XA_STRING) {
_fallcCloseConverter(conv);
encoding = falInternAtom(dpy, "COMPOUND_TEXT", False);
to_type = XlcNCompoundText;
goto retry;
if (ret > 0 && style == XStdICCTextStyle && encoding == XA_STRING) {
_fallcCloseConverter(conv);
encoding = falInternAtom(dpy, "COMPOUND_TEXT", False);
to_type = XlcNCompoundText;
retry++;
}
unconv_num += ret;
*to++ = '\0';
to_left--;
if (i >= count)
break;
_fallcResetConverter(conv);
}
unconv_num += ret;
*to++ = '\0';
to_left--;
if (i >= count)
break;
_fallcResetConverter(conv);
}
_fallcCloseConverter(conv);
nitems = to - buf;
done:
if (nitems <= 0)
nitems = 1;
value = (char *) Xmalloc(nitems);
if (value == NULL) {
Xfree(buf);
return XNoMemory;
}
if (nitems == 1)
*value = 0;
else
memcpy(value, buf, nitems);
nitems--;
Xfree(buf);
text_prop->value = (unsigned char *) value;
text_prop->encoding = encoding;
text_prop->format = 8;
text_prop->nitems = nitems;
return unconv_num;
}while (retry == 1);
}
int
_falmbTextListToTextProperty(lcd, dpy, list, count, style, text_prop)
XLCd lcd;
Display *dpy;
char **list;
int count;
XICCEncodingStyle style;
XTextProperty *text_prop;
_falmbTextListToTextProperty(
XLCd lcd,
Display *dpy,
char **list,
int count,
XICCEncodingStyle style,
XTextProperty *text_prop)
{
return _XTextListToTextProperty(lcd, dpy, XlcNMultiByte, (XPointer) list,
count, style, text_prop);
}
int
_falwcTextListToTextProperty(lcd, dpy, list, count, style, text_prop)
XLCd lcd;
Display *dpy;
wchar_t **list;
int count;
XICCEncodingStyle style;
XTextProperty *text_prop;
_falwcTextListToTextProperty(
XLCd lcd,
Display *dpy,
wchar_t **list,
int count,
XICCEncodingStyle style,
XTextProperty *text_prop)
{
return _XTextListToTextProperty(lcd, dpy, XlcNWideChar, (XPointer) list,
count, style, text_prop);

View file

@ -49,65 +49,52 @@ OR PERFORMANCE OF THIS SOFTWARE.
******************************************************************/
#include "_fallcUTF.h"
#include <stdlib.h>
static long getutfrune();
static long getutfrune(char **read_from, int *from_len);
static void our_wctomb(
#if NeedFunctionPrototypes
unsigned short r,
char **bufptr,
int *buf_len
#endif
);
static int our_mbtowc(
#if NeedFunctionPrototypes
unsigned long *p,
char *s,
size_t n
#endif
);
static void latin2rune(
#if NeedFunctionPrototypes
unsigned char c,
Rune *r
#endif
);
static void jis02012rune(
#if NeedFunctionPrototypes
unsigned char c,
Rune *r
#endif
);
static void jis02082rune(
#if NeedFunctionPrototypes
unsigned char c,
Rune *r
#endif
);
static void ksc2rune(
#if NeedFunctionPrototypes
unsigned char c,
Rune *r
#endif
);
static void gb2rune(
#if NeedFunctionPrototypes
unsigned char c,
Rune *r
#endif
);
static void init_latin1tab();
static void init_latin2tab();
static void init_latin3tab();
static void init_latin4tab();
static void init_latin5tab();
static void init_latin6tab();
static void init_latin7tab();
static void init_latin8tab();
static void init_latin9tab();
static void init_jis0201tab();
static void init_jis0208tab();
static void init_ksc5601tab();
static void init_gb2312tab();
static void init_latin1tab(long *tbl, long fb_default);
static void init_latin2tab(long *tbl, long fb_default);
static void init_latin3tab(long *tbl, long fb_default);
static void init_latin4tab(long *tbl, long fb_default);
static void init_latin5tab(long *tbl, long fb_default);
static void init_latin6tab(long *tbl, long fb_default);
static void init_latin7tab(long *tbl, long fb_default);
static void init_latin8tab(long *tbl, long fb_default);
static void init_latin9tab(long *tbl, long fb_default);
static void init_jis0201tab(long *tbl, long fb_default);
static void init_jis0208tab(long *tbl, long fb_default);
static void init_ksc5601tab(long *tbl, long fb_default);
static void init_gb2312tab(long *tbl, long fb_default);
static char *int_locale = NULL;
@ -149,21 +136,16 @@ static XlcUTFDataRec default_utf_data[] =
static void
set_latin_nop(table, default_val)
long *table;
long default_val;
set_latin_nop(long *table, long default_val)
{
register int i;
int i;
for(i = 0; i < 0x1fff; i++)
table[i] = default_val;
return;
}
static void
set_latin_tab(fptr, table, fb_default)
FILE *fptr;
long *table;
long fb_default;
set_latin_tab(FILE *fptr, long *table, long fb_default)
{
int i = 0;
int j = 0;
@ -186,9 +168,7 @@ extern int _fallcResolveI18NPath();
#define TBL_DATA_DIR "tbl_data"
static void
init_latin1tab(tbl, fb_default)
long *tbl;
long fb_default;
init_latin1tab(long *tbl, long fb_default)
{
FILE *fp = NULL;
char dirname[BUFSIZE];
@ -221,9 +201,7 @@ long fb_default;
}
static void
init_latin2tab(tbl, fb_default)
long *tbl;
long fb_default;
init_latin2tab(long *tbl, long fb_default)
{
FILE *fp;
char dirname[BUFSIZE];
@ -256,9 +234,7 @@ long fb_default;
}
static void
init_latin3tab(tbl, fb_default)
long *tbl;
long fb_default;
init_latin3tab(long *tbl, long fb_default)
{
FILE *fp;
char dirname[BUFSIZE];
@ -291,9 +267,7 @@ long fb_default;
}
static void
init_latin4tab(tbl, fb_default)
long *tbl;
long fb_default;
init_latin4tab(long *tbl, long fb_default)
{
FILE *fp;
char dirname[BUFSIZE];
@ -326,9 +300,7 @@ long fb_default;
}
static void
init_latin5tab(tbl, fb_default)
long *tbl;
long fb_default;
init_latin5tab(long *tbl, long fb_default)
{
FILE *fp;
char dirname[BUFSIZE];
@ -361,9 +333,7 @@ long fb_default;
}
static void
init_latin6tab(tbl, fb_default)
long *tbl;
long fb_default;
init_latin6tab(long *tbl, long fb_default)
{
FILE *fp;
char dirname[BUFSIZE];
@ -396,9 +366,7 @@ long fb_default;
}
static void
init_latin7tab(tbl, fb_default)
long *tbl;
long fb_default;
init_latin7tab(long *tbl, long fb_default)
{
FILE *fp;
char dirname[BUFSIZE];
@ -431,9 +399,7 @@ long fb_default;
}
static void
init_latin8tab(tbl, fb_default)
long *tbl;
long fb_default;
init_latin8tab(long *tbl, long fb_default)
{
FILE *fp;
char dirname[BUFSIZE];
@ -466,9 +432,7 @@ long fb_default;
}
static void
init_latin9tab(tbl, fb_default)
long *tbl;
long fb_default;
init_latin9tab(long *tbl, long fb_default)
{
FILE *fp;
char dirname[BUFSIZE];
@ -501,9 +465,7 @@ long fb_default;
}
static void
init_jis0201tab(tbl, fb_default)
long *tbl;
long fb_default;
init_jis0201tab(long *tbl, long fb_default)
{
int i;
for(i = 0; i < NRUNE; i++)
@ -511,25 +473,23 @@ long fb_default;
}
static void
set_cjk_nop(to_tbl, to_max, default_val)
long **to_tbl;
long default_val;
int to_max;
set_cjk_nop(long **to_tbl, int to_max, long default_val)
{
register int i;
int i;
for(i = 0; i < to_max; i++)
(*to_tbl)[i] = default_val;
return;
}
static void
set_table(fptr, to_tbl, from_tbl, to_max, fb_default)
FILE *fptr;
long **to_tbl, *from_tbl;
int to_max;
long fb_default;
set_table(
FILE *fptr,
long **to_tbl,
long *from_tbl,
int to_max,
long fb_default)
{
register int i = 0;
int i = 0;
int j = 0;
int rv = 0;
long value;
@ -554,9 +514,7 @@ long fb_default;
static void
init_jis0208tab(tbl, fb_default)
long *tbl;
long fb_default;
init_jis0208tab(long *tbl, long fb_default)
{
FILE *fp;
char dirname[BUFSIZE];
@ -592,9 +550,7 @@ long fb_default;
}
static void
init_ksc5601tab(tbl, fb_default)
long *tbl;
long fb_default;
init_ksc5601tab(long *tbl, long fb_default)
{
FILE *fp;
char dirname[BUFSIZE];
@ -630,9 +586,7 @@ long fb_default;
}
static void
init_gb2312tab(tbl, fb_default)
long *tbl;
long fb_default;
init_gb2312tab(long *tbl, long fb_default)
{
FILE *fp;
char dirname[BUFSIZE];
@ -668,7 +622,7 @@ long fb_default;
}
static UtfData
make_entry()
make_entry(void)
{
UtfData tmp = (UtfData)Xmalloc(sizeof(UtfDataRec));
bzero(tmp, sizeof(UtfDataRec));
@ -677,8 +631,7 @@ make_entry()
static int once = 0;
static int
_XlcInitUTFInfo(lcd)
XLCd lcd;
_XlcInitUTFInfo(XLCd lcd)
{
if(!once) {
int i;
@ -726,14 +679,14 @@ XLCd lcd;
}
static int
utftocs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
char **from;
int *from_left;
char **to;
int *to_left;
XPointer *args;
int num_args;
utftocs(
XlcConv conv,
char **from,
int *from_left,
char **to,
int *to_left,
XPointer *args,
int num_args)
{
char *utfptr;
char *bufptr;
@ -763,7 +716,17 @@ utftocs(conv, from, from_left, to, to_left, args, num_args)
tbl += l;
if((r = *tbl) == -1) {
if(tmpcharset) {
goto end;
if((num_args > 0) && tmpcharset)
*((XlcCharSet *) args[0]) = tmpcharset;
*from_left -= utfptr - *from;
*from = utfptr;
*to_left -= bufptr - *to;
*to = bufptr;
return 0;
} else {
pdata = pdata->next;
continue;
@ -799,28 +762,17 @@ utftocs(conv, from, from_left, to, to_left, args, num_args)
if(!tmpcharset) return (-1); /* Unknown Codepoint */
}
}
end:
if((num_args > 0) && tmpcharset)
*((XlcCharSet *) args[0]) = tmpcharset;
*from_left -= utfptr - *from;
*from = utfptr;
*to_left -= bufptr - *to;
*to = bufptr;
return 0;
}
static int
utf1tocs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
char **from;
int *from_left;
char **to;
int *to_left;
XPointer *args;
int num_args;
utf1tocs(
XlcConv conv,
char **from,
int *from_left,
char **to,
int *to_left,
XPointer *args,
int num_args)
{
char **ptr = NULL;
char char_ptr[UTFmax];
@ -839,14 +791,14 @@ utf1tocs(conv, from, from_left, to, to_left, args, num_args)
}
static int
ucstocs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
XPointer *from;
int *from_left;
char **to;
int *to_left;
XPointer *args;
int num_args;
ucstocs(
XlcConv conv,
XPointer *from,
int *from_left,
char **to,
int *to_left,
XPointer *args,
int num_args)
{
wchar_t *ucsptr;
char *bufptr;
@ -871,7 +823,17 @@ ucstocs(conv, from, from_left, to, to_left, args, num_args)
tbl += *ucsptr;
if((r = *tbl) == -1) {
if(tmpcharset) {
goto end;
if((num_args > 0) && tmpcharset)
*((XlcCharSet *) args[0]) = tmpcharset;
*from_left -= ucsptr - (wchar_t *)*from;
*from = (XPointer)ucsptr;
*to_left -= bufptr - *to;
*to = bufptr;
return 0;
} else {
pdata = pdata->next;
continue;
@ -908,27 +870,10 @@ ucstocs(conv, from, from_left, to, to_left, args, num_args)
}
if(!tmpcharset) return (-1); /* Unknown Codepoint */
}
end:
if((num_args > 0) && tmpcharset)
*((XlcCharSet *) args[0]) = tmpcharset;
*from_left -= ucsptr - (wchar_t *)*from;
*from = (XPointer)ucsptr;
*to_left -= bufptr - *to;
*to = bufptr;
return 0;
}
static long
#if NeedFunctionPrototypes
getutfrune(char **read_from, int *from_len)
#else
getutfrune(read_from, from_len)
char **read_from;
int *from_len;
#endif
{
int c, i;
char str[UTFmax]; /* MB_LEN_MAX really */
@ -952,24 +897,22 @@ int *from_len;
}
static
cstoutf(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
char **from;
int *from_left;
char **to;
int *to_left;
XPointer *args;
int num_args;
cstoutf(
XlcConv conv,
char **from,
int *from_left,
char **to,
int *to_left,
XPointer *args,
int num_args)
{
XlcCharSet charset;
char *csptr, *utfptr;
int csstr_len, utf_len;
int cmp_len = 0;
void (*putrune)(
#if NeedFunctionPrototypes
unsigned char c,
Rune *r
#endif
) = NULL;
Rune r = (Rune)0;
UtfData pdata = utfdata_list;
@ -1017,14 +960,14 @@ cstoutf(conv, from, from_left, to, to_left, args, num_args)
}
static
cstoucs(conv, from, from_left, to, to_left, args, num_args)
XlcConv conv;
char **from;
int *from_left;
XPointer *to;
int *to_left;
XPointer *args;
int num_args;
cstoucs(
XlcConv conv,
char **from,
int *from_left,
XPointer *to,
int *to_left,
XPointer *args,
int num_args)
{
XlcCharSet charset;
char *csptr;
@ -1032,10 +975,8 @@ cstoucs(conv, from, from_left, to, to_left, args, num_args)
int csstr_len, ucs_len;
int cmp_len = 0;
void (*putrune)(
#if NeedFunctionPrototypes
unsigned char c,
Rune *r
#endif
) = NULL;
Rune r = (Rune)0;
UtfData pdata = utfdata_list;
@ -1085,14 +1026,7 @@ cstoucs(conv, from, from_left, to, to_left, args, num_args)
}
static void
#if NeedFunctionPrototypes
our_wctomb(Rune r, char **utfptr, int *utf_len)
#else
our_wctomb(r, utfptr, utf_len)
Rune r;
char **utfptr;
int *utf_len;
#endif
{
long l = (long)r;
@ -1150,26 +1084,14 @@ int *utf_len;
}
static void
#if NeedFunctionPrototypes
latin2rune(unsigned char c, Rune *r)
#else
latin2rune(c, r)
unsigned char c;
Rune *r;
#endif
{
*r = (Rune)c;
return;
}
static void
#if NeedFunctionPrototypes
ksc2rune(unsigned char c, Rune *r)
#else
ksc2rune(c, r)
unsigned char c;
Rune *r;
#endif
{
static enum { init, cs1last} state = init;
static int korean646 = 1; /* fixed to 1 for now. */
@ -1206,32 +1128,19 @@ Rune *r;
}
static void
#if NeedFunctionPrototypes
jis02012rune(unsigned char c, Rune *r)
#else
jis02012rune(c, r)
unsigned char c;
Rune *r;
#endif
{
/* To Be Implemented */
}
static void
#if NeedFunctionPrototypes
gb2rune(unsigned char c, Rune *r)
#else
gb2rune(c, r)
unsigned char c;
Rune *r;
#endif
{
static enum { state0, state1 } state = state0;
static int lastc;
long n, ch;
unsigned char ch1 = (c|0x80); /* XXX */
again:
switch(state)
{
case state0: /* idle state */
@ -1261,21 +1170,16 @@ again:
}
static void
#if NeedFunctionPrototypes
jis02082rune(unsigned char c, Rune *r)
#else
jis02082rune(c, r)
unsigned char c;
Rune *r;
#endif
{
static enum { state0, state1} state = state0;
static int lastc;
unsigned char ch = (c|0x80); /* XXX */
int n;
int n, again;
long l;
again:
do {
again = 0;
switch(state)
{
case state0: /* idle state */
@ -1287,7 +1191,7 @@ again:
if((lastc&0x80) != (ch&0x80)){
emit(lastc);
state = state0;
goto again;
again += 1;
}
if(CANS2J(lastc, ch)){
int h = lastc, l = ch;
@ -1305,17 +1209,11 @@ again:
}
state = state0;
}
} while (again == 1);
}
static int
#if NeedFunctionPrototypes
our_mbtowc(unsigned long *p, char *s, size_t n)
#else
our_mbtowc(p, s, n)
unsigned long *p;
char *s;
size_t n;
#endif
{
unsigned char *us;
int c0, c1, c2, c3, c4, c5;
@ -1325,38 +1223,42 @@ size_t n;
return 0; /* no shift states */
if(n < 1)
goto badlen;
return -2; /* bad length */
us = (unsigned char*)s;
c0 = us[0];
if(c0 >= T3) {
if(n < 3)
goto badlen;
return -2;
c1 = us[1] ^ Tx;
c2 = us[2] ^ Tx;
if((c1|c2) & T2) {
goto bad;
errno = EILSEQ;
return -1;
}
if(c0 >= T5) {
if(n < 5)
goto badlen;
return -2;
c3 = us[3] ^ Tx;
c4 = us[4] ^ Tx;
if((c3|c4) & T2) {
goto bad;
errno = EILSEQ;
return -1;
}
if(c0 >= T6) {
/* 6 bytes */
if(n < 6)
goto badlen;
return -2;
c5 = us[5] ^ Tx;
if(c5 & T2) {
goto bad;
errno = EILSEQ;
return -1;
}
wc = ((((((((((c0 & Mask6) << Bitx) |
c1) << Bitx) | c2) << Bitx) |
c3) << Bitx) | c4) << Bitx) | c5;
if(wc <= Wchar5) {
goto bad;
errno = EILSEQ;
return -1;
}
*p = wc;
return 6;
@ -1366,7 +1268,8 @@ size_t n;
c1) << Bitx) | c2) << Bitx) |
c3) << Bitx) | c4;
if(wc <= Wchar4) {
goto bad;
errno = EILSEQ;
return -1;
}
*p = wc;
return 5;
@ -1374,16 +1277,18 @@ size_t n;
if(c0 >= T4) {
/* 4 bytes */
if(n < 4)
goto badlen;
return -2;
c3 = us[3] ^ Tx;
if(c3 & T2) {
goto bad;
errno = EILSEQ;
return -1;
}
wc = ((((((c0 & Mask4) << Bitx) |
c1) << Bitx) | c2) << Bitx) |
c3;
if(wc <= Wchar3) {
goto bad;
errno = EILSEQ;
return -1;
}
*p = wc;
return 4;
@ -1392,7 +1297,8 @@ size_t n;
wc = ((((c0 & Mask3) << Bitx) |
c1) << Bitx) | c2;
if(wc <= Wchar2) {
goto bad;
errno = EILSEQ;
return -1;
}
*p = wc;
return 3;
@ -1400,44 +1306,38 @@ size_t n;
if(c0 >= T2) {
/* 2 bytes */
if(n < 2)
goto badlen;
return -2;
c1 = us[1] ^ Tx;
if(c1 & T2) {
goto bad;
errno = EILSEQ;
return -1;
}
wc = ((c0 & Mask2) << Bitx) |
c1;
if(wc <= Wchar1) {
goto bad;
errno = EILSEQ;
return -1;
}
*p = wc;
return 2;
}
/* 1 byte */
if(c0 >= Tx) {
goto bad;
errno = EILSEQ;
return -1;
}
*p = c0;
return 1;
bad:
errno = EILSEQ;
return -1;
badlen:
return -2;
}
static void
close_converter(conv)
XlcConv conv;
close_converter(XlcConv conv)
{
Xfree((char *) conv);
}
static XlcConv
create_conv(lcd, methods)
XLCd lcd;
XlcConvMethods methods;
create_conv(XLCd lcd, XlcConvMethods methods)
{
XlcConv conv;
@ -1452,10 +1352,10 @@ create_conv(lcd, methods)
return conv;
err:
/* if an error occurs somewhere
close_converter(conv);
return (XlcConv) NULL;
*/
}
static XlcConvMethodsRec mbtocs_methods = {
@ -1465,11 +1365,7 @@ static XlcConvMethodsRec mbtocs_methods = {
};
static XlcConv
open_mbtocs(from_lcd, from, to_lcd, to)
XLCd from_lcd;
char *from;
XLCd to_lcd;
char *to;
open_mbtocs(XLCd from_lcd, char *from, XLCd to_lcd, char *to)
{
return create_conv(from_lcd, &mbtocs_methods);
}
@ -1481,11 +1377,7 @@ static XlcConvMethodsRec mbstocs_methods = {
};
static XlcConv
open_mbstocs(from_lcd, from, to_lcd, to)
XLCd from_lcd;
char *from;
XLCd to_lcd;
char *to;
open_mbstocs(XLCd from_lcd, char *from, XLCd to_lcd, char *to)
{
return create_conv(from_lcd, &mbstocs_methods);
}
@ -1497,11 +1389,7 @@ static XlcConvMethodsRec wcstocs_methods = {
};
static XlcConv
open_wcstocs(from_lcd, from, to_lcd, to)
XLCd from_lcd;
char *from;
XLCd to_lcd;
char *to;
open_wcstocs(XLCd from_lcd, char *from, XLCd to_lcd, char *to)
{
return create_conv(from_lcd, &wcstocs_methods);
}
@ -1513,11 +1401,7 @@ static XlcConvMethodsRec cstombs_methods = {
};
static XlcConv
open_cstombs(from_lcd, from, to_lcd, to)
XLCd from_lcd;
char *from;
XLCd to_lcd;
char *to;
open_cstombs(XLCd from_lcd, char *from, XLCd to_lcd, char *to)
{
return create_conv(from_lcd, &cstombs_methods);
}
@ -1529,19 +1413,14 @@ static XlcConvMethodsRec cstowcs_methods = {
};
static XlcConv
open_cstowcs(from_lcd, from, to_lcd, to)
XLCd from_lcd;
char *from;
XLCd to_lcd;
char *to;
open_cstowcs(XLCd from_lcd, char *from, XLCd to_lcd, char *to)
{
return create_conv(from_lcd, &cstowcs_methods);
}
XLCd
_fallcUtfLoader(name)
char *name;
_fallcUtfLoader(char *name)
{
XLCd lcd;

View file

@ -91,18 +91,14 @@ typedef enum {
typedef struct _UtfDataRec {
XlcCharSet charset;
void (*initialize)( /* Table Initializer */
#if NeedNestedPrototypes
long *tbl,
long fallback
#endif
);
long *fromtbl; /* UTF -> CharSet */
NormalizeType type; /* Normalize type */
void (*cstorune)( /* CharSet -> UTF */
#if NeedNestedPrototypes
unsigned char c,
Rune *r
#endif
);
Bool already_init;
struct _UtfDataRec *next; /* next entry */
@ -113,10 +109,8 @@ typedef struct _XlcUTFDataRec {
XlcSide side;
void (*initialize)();
void (*cstorune)(
#if NeedNestedPrototypes
unsigned char c,
Rune *r
#endif
);
NormalizeType type;
long fallback_value;

View file

@ -59,10 +59,9 @@
#endif
int
_fallcCompareISOLatin1(str1, str2)
char *str1, *str2;
_fallcCompareISOLatin1(char *str1, char *str2)
{
register char ch1, ch2;
char ch1, ch2;
for ( ; (ch1 = *str1) && (ch2 = *str2); str1++, str2++) {
if (islower(ch1))
@ -78,11 +77,9 @@ _fallcCompareISOLatin1(str1, str2)
}
int
_fallcNCompareISOLatin1(str1, str2, len)
char *str1, *str2;
int len;
_fallcNCompareISOLatin1(char *str1, char *str2, int len)
{
register char ch1, ch2;
char ch1, ch2;
for ( ; (ch1 = *str1) && (ch2 = *str2) && len; str1++, str2++, len--) {
if (islower(ch1))

View file

@ -93,36 +93,16 @@ from the X Consortium.
#endif
#include "_falutil.h"
#ifdef __STDC__
#define Const const
#else
#define Const /**/
#endif
#ifdef X_NOT_STDC_ENV
extern char *getenv();
#endif
extern void _fallcInitLoader(
#if NeedFunctionPrototypes
void
#endif
);
#ifdef XTHREADS
LockInfoPtr _Xi18n_lock;
#endif
#if NeedFunctionPrototypes
char *
falSetLocaleModifiers(
_Xconst char *modifiers
)
#else
char *
falSetLocaleModifiers(modifiers)
char *modifiers;
#endif
falSetLocaleModifiers(const char *modifiers)
{
XLCd lcd = _fallcCurrentLC();
char *user_mods;
@ -143,14 +123,12 @@ falSetLocaleModifiers(modifiers)
}
Bool
falSupportsLocale()
falSupportsLocale(void)
{
return _fallcCurrentLC() != (XLCd)NULL;
}
Bool _fallcValidModSyntax(mods, valid_mods)
char *mods;
char **valid_mods;
Bool _fallcValidModSyntax(char *mods, char **valid_mods)
{
int i;
char **ptr;
@ -174,14 +152,11 @@ Bool _fallcValidModSyntax(mods, valid_mods)
return !mods || !*mods;
}
static Const char *im_valid[] = {"im", (char *)NULL};
static const char *im_valid[] = {"im", (char *)NULL};
/*ARGSUSED*/
char *
_fallcDefaultMapModifiers (lcd, user_mods, prog_mods)
XLCd lcd;
char *user_mods;
char *prog_mods;
_fallcDefaultMapModifiers (XLCd lcd, char *user_mods, char *prog_mods)
{
int i;
char *mods;
@ -231,8 +206,7 @@ typedef struct _XlcLoaderListRec {
static XlcLoaderList loader_list = NULL;
void
_fallcRemoveLoader(proc)
XLCdLoadProc proc;
_fallcRemoveLoader(XLCdLoadProc proc)
{
XlcLoaderList loader, prev;
@ -259,9 +233,7 @@ _fallcRemoveLoader(proc)
}
Bool
_fallcAddLoader(proc, position)
XLCdLoadProc proc;
XlcPosition position;
_fallcAddLoader(XLCdLoadProc proc, XlcPosition position)
{
XlcLoaderList loader, last;
@ -292,8 +264,7 @@ _fallcAddLoader(proc, position)
}
XLCd
_falOpenLC(name)
char *name;
_falOpenLC(char *name)
{
XLCd lcd;
XlcLoaderList loader;
@ -319,7 +290,8 @@ _falOpenLC(name)
if (!strcmp (cur->lcd->core->name, name)) {
lcd = cur->lcd;
cur->ref_count++;
goto found;
_XUnlockMutex(_Xi18n_lock);
return lcd;
}
}
@ -345,15 +317,10 @@ _falOpenLC(name)
break;
}
}
found:
_XUnlockMutex(_Xi18n_lock);
return lcd;
}
void
_falCloseLC(lcd)
XLCd lcd;
_falCloseLC(XLCd lcd)
{
XLCdList cur, *prev;
@ -374,7 +341,7 @@ _falCloseLC(lcd)
*/
XLCd
_fallcCurrentLC()
_fallcCurrentLC(void)
{
XLCd lcd;
static XLCd last_lcd = NULL;
@ -390,8 +357,7 @@ _fallcCurrentLC()
}
XrmMethods
_falrmInitParseInfo(state)
XPointer *state;
_falrmInitParseInfo(XPointer *state)
{
XLCd lcd = _falOpenLC((char *) NULL);
@ -402,11 +368,11 @@ _falrmInitParseInfo(state)
}
int
falmbTextPropertyToTextList(dpy, text_prop, list_ret, count_ret)
Display *dpy;
XTextProperty *text_prop;
char ***list_ret;
int *count_ret;
falmbTextPropertyToTextList(
Display *dpy,
XTextProperty *text_prop,
char ***list_ret,
int *count_ret)
{
XLCd lcd = _fallcCurrentLC();
@ -418,11 +384,11 @@ falmbTextPropertyToTextList(dpy, text_prop, list_ret, count_ret)
}
int
falwcTextPropertyToTextList(dpy, text_prop, list_ret, count_ret)
Display *dpy;
XTextProperty *text_prop;
wchar_t ***list_ret;
int *count_ret;
falwcTextPropertyToTextList(
Display *dpy,
XTextProperty *text_prop,
wchar_t ***list_ret,
int *count_ret)
{
XLCd lcd = _fallcCurrentLC();
@ -434,12 +400,12 @@ falwcTextPropertyToTextList(dpy, text_prop, list_ret, count_ret)
}
int
falmbTextListToTextProperty(dpy, list, count, style, text_prop)
Display *dpy;
char **list;
int count;
XICCEncodingStyle style;
XTextProperty *text_prop;
falmbTextListToTextProperty(
Display *dpy,
char **list,
int count,
XICCEncodingStyle style,
XTextProperty *text_prop)
{
XLCd lcd = _fallcCurrentLC();
@ -451,12 +417,12 @@ falmbTextListToTextProperty(dpy, list, count, style, text_prop)
}
int
falwcTextListToTextProperty(dpy, list, count, style, text_prop)
Display *dpy;
wchar_t **list;
int count;
XICCEncodingStyle style;
XTextProperty *text_prop;
falwcTextListToTextProperty(
Display *dpy,
wchar_t **list,
int count,
XICCEncodingStyle style,
XTextProperty *text_prop)
{
XLCd lcd = _fallcCurrentLC();
@ -468,8 +434,7 @@ falwcTextListToTextProperty(dpy, list, count, style, text_prop)
}
void
falwcFreeStringList(list)
wchar_t **list;
falwcFreeStringList(wchar_t **list)
{
XLCd lcd = _fallcCurrentLC();
@ -480,7 +445,7 @@ falwcFreeStringList(list)
}
char *
falDefaultString()
falDefaultString(void)
{
XLCd lcd = _fallcCurrentLC();
@ -491,10 +456,7 @@ falDefaultString()
}
void
_fallcCopyFromArg(src, dst, size)
char *src;
register char *dst;
register int size;
_fallcCopyFromArg(char *src, char *dst, int size)
{
if (size == sizeof(long))
*((long *) dst) = (long) src;
@ -515,10 +477,7 @@ _fallcCopyFromArg(src, dst, size)
}
void
_fallcCopyToArg(src, dst, size)
register char *src;
register char **dst;
register int size;
_fallcCopyToArg(char *src, char **dst, int size)
{
if (size == sizeof(long))
*((long *) *dst) = *((long *) src);
@ -533,11 +492,9 @@ _fallcCopyToArg(src, dst, size)
}
void
_fallcCountVaList(var, count_ret)
va_list var;
int *count_ret;
_fallcCountVaList(va_list var, int *count_ret)
{
register int count;
int count;
for (count = 0; va_arg(var, char *); count++)
va_arg(var, XPointer);
@ -546,12 +503,9 @@ _fallcCountVaList(var, count_ret)
}
void
_fallcVaToArgList(var, count, args_ret)
va_list var;
register int count;
XlcArgList *args_ret;
_fallcVaToArgList(va_list var, int count, XlcArgList *args_ret)
{
register XlcArgList args;
XlcArgList args;
*args_ret = args = (XlcArgList) Xmalloc(sizeof(XlcArg) * count);
if (args == (XlcArgList) NULL)
@ -564,22 +518,20 @@ _fallcVaToArgList(var, count, args_ret)
}
void
_fallcCompileResourceList(resources, num_resources)
register XlcResourceList resources;
register int num_resources;
_fallcCompileResourceList(XlcResourceList resources, int num_resources)
{
for ( ; num_resources-- > 0; resources++)
resources->xrm_name = falrmPermStringToQuark(resources->name);
}
char *
_fallcGetValues(base, resources, num_resources, args, num_args, mask)
XPointer base;
XlcResourceList resources;
int num_resources;
XlcArgList args;
int num_args;
unsigned long mask;
_fallcGetValues(
XPointer base,
XlcResourceList resources,
int num_resources,
XlcArgList args,
int num_args,
unsigned long mask)
{
XlcResourceList res;
XrmQuark xrm_name;
@ -605,13 +557,13 @@ _fallcGetValues(base, resources, num_resources, args, num_args, mask)
}
char *
_fallcSetValues(base, resources, num_resources, args, num_args, mask)
XPointer base;
XlcResourceList resources;
int num_resources;
XlcArgList args;
int num_args;
unsigned long mask;
_fallcSetValues(
XPointer base,
XlcResourceList resources,
int num_resources,
XlcArgList args,
int num_args,
unsigned long mask)
{
XlcResourceList res;
XrmQuark xrm_name;

View file

@ -107,12 +107,10 @@ from the X Consortium.
#include "_falvarargs.h"
typedef Bool (*XFilterEventProc)(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* window */,
XEvent* /* event */,
XPointer /* client_data */
#endif
);
typedef struct _XIMFilter {
@ -195,35 +193,25 @@ typedef struct {
*/
typedef void (*XmbInitProc)(
#if NeedFunctionPrototypes
XPointer /* state */
#endif
);
typedef char (*XmbCharProc)(
#if NeedFunctionPrototypes
XPointer /* state */,
char* /* str */,
int* /* lenp */
#endif
);
typedef void (*XmbFinishProc)(
#if NeedFunctionPrototypes
XPointer /* state */
#endif
);
typedef char* (*XlcNameProc)(
#if NeedFunctionPrototypes
XPointer /* state */
#endif
);
typedef void (*XrmDestroyProc)(
#if NeedFunctionPrototypes
XPointer /* state */
#endif
);
typedef struct {
@ -241,41 +229,32 @@ typedef struct _XLCd *XLCd; /* need forward reference */
*/
typedef void (*XCloseLCProc)(
#if NeedFunctionPrototypes
XLCd /* lcd */
#endif
);
typedef char* (*XlcMapModifiersProc)(
#if NeedFunctionPrototypes
XLCd /* lcd */,
char* /* user_mods */,
char* /* prog_mods */
#endif
);
typedef XOM (*XOpenOMProc)(
#if NeedFunctionPrototypes
XLCd /* lcd */,
Display* /* display */,
XrmDatabase /* rdb */,
_Xconst char* /* res_name */,
_Xconst char* /* res_class */
#endif
const char* /* res_name */,
const char* /* res_class */
);
typedef XIM (*XOpenIMProc)(
#if NeedFunctionPrototypes
XLCd /* lcd */,
Display* /* display */,
XrmDatabase /* rdb */,
char* /* res_name */,
char* /* res_class */
#endif
);
typedef Bool (*XRegisterIMInstantiateCBProc)(
#if NeedFunctionPrototypes
XLCd /* lcd */,
Display* /* display */,
XrmDatabase /* rdb */,
@ -283,11 +262,9 @@ typedef Bool (*XRegisterIMInstantiateCBProc)(
char* /* res_class */,
XIMProc /* callback */,
XPointer* /* client_data */
#endif
);
typedef Bool (*XUnregisterIMInstantiateCBProc)(
#if NeedFunctionPrototypes
XLCd /* lcd */,
Display* /* display */,
XrmDatabase /* rdb */,
@ -295,69 +272,54 @@ typedef Bool (*XUnregisterIMInstantiateCBProc)(
char* /* res_class */,
XIMProc /* callback */,
XPointer* /* client_data */
#endif
);
typedef XrmMethods (*XrmInitParseInfoProc)(
#if NeedFunctionPrototypes
XLCd /* lcd */,
XPointer* /* state */
#endif
);
typedef int (*falmbTextPropertyToTextListProc)(
#if NeedFunctionPrototypes
XLCd /* lcd */,
Display* /* display */,
XTextProperty* /* text_prop */,
char*** /* list_return */,
int* /* count_return */
#endif
);
typedef int (*falwcTextPropertyToTextListProc)(
#if NeedFunctionPrototypes
XLCd /* lcd */,
Display* /* display */,
XTextProperty* /* text_prop */,
wchar_t*** /* list_return */,
int* /* count_return */
#endif
);
typedef int (*falmbTextListToTextPropertyProc)(
#if NeedFunctionPrototypes
XLCd /* lcd */,
Display* /* display */,
char** /* list */,
int /* count */,
XICCEncodingStyle /* style */,
XTextProperty* /* text_prop_return */
#endif
);
typedef int (*falwcTextListToTextPropertyProc)(
#if NeedFunctionPrototypes
XLCd /* lcd */,
Display* /* display */,
wchar_t** /* list */,
int /* count */,
XICCEncodingStyle /* style */,
XTextProperty* /* text_prop_return */
#endif
);
typedef void (*falwcFreeStringListProc)(
#if NeedFunctionPrototypes
XLCd /* lcd */,
wchar_t** /* list */
#endif
);
typedef char* (*falDefaultStringProc)(
#if NeedFunctionPrototypes
XLCd /* lcd */
#endif
);
typedef struct {
@ -416,33 +378,25 @@ typedef struct _XlcResource {
#define XlcNumber(arr) (sizeof(arr) / sizeof(arr[0]))
typedef Status (*XCloseOMProc)(
#if NeedFunctionPrototypes
XOM /* om */
#endif
);
typedef char* (*XSetOMValuesProc)(
#if NeedFunctionPrototypes
XOM /* om */,
XlcArgList /* args */,
int /* num_args */
#endif
);
typedef char* (*XGetOMValuesProc)(
#if NeedFunctionPrototypes
XOM /* om */,
XlcArgList /* args */,
int /* num_args */
#endif
);
typedef XOC (*XCreateOCProc)(
#if NeedFunctionPrototypes
XOM /* om */,
XlcArgList /* args */,
int /* num_args */
#endif
);
typedef struct _XOMMethodsRec {
@ -474,25 +428,19 @@ typedef struct _XOM {
} XOMRec;
typedef void (*XDestroyOCProc)(
#if NeedFunctionPrototypes
XOC /* oc */
#endif
);
typedef char* (*XSetOCValuesProc)(
#if NeedFunctionPrototypes
XOC /* oc */,
XlcArgList /* args */,
int /* num_args */
#endif
);
typedef char* (*XGetOCValuesProc)(
#if NeedFunctionPrototypes
XOC /* oc */,
XlcArgList /* args */,
int /* num_args */
#endif
);
/*
@ -505,27 +453,22 @@ typedef char* (*XGetOCValuesProc)(
*/
typedef int (*XmbTextEscapementProc)(
#if NeedFunctionPrototypes
XFontSet /* font_set */,
_Xconst char* /* text */,
const char* /* text */,
int /* text_len */
#endif
);
typedef int (*XmbTextExtentsProc)(
#if NeedFunctionPrototypes
XFontSet /* font_set */,
_Xconst char* /* text */,
const char* /* text */,
int /* text_len */,
XRectangle* /* overall_ink_extents */,
XRectangle* /* overall_logical_extents */
#endif
);
typedef Status (*XmbTextPerCharExtentsProc)(
#if NeedFunctionPrototypes
XFontSet /* font_set */,
_Xconst char* /* text */,
const char* /* text */,
int /* text_len */,
XRectangle* /* ink_extents_buffer */,
XRectangle* /* logical_extents_buffer */,
@ -533,57 +476,47 @@ typedef Status (*XmbTextPerCharExtentsProc)(
int* /* num_chars */,
XRectangle* /* max_ink_extents */,
XRectangle* /* max_logical_extents */
#endif
);
typedef int (*XmbDrawStringProc)(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* drawable */,
XFontSet /* font_set */,
GC /* gc */,
int /* x */,
int /* y */,
_Xconst char* /* text */,
const char* /* text */,
int /* text_len */
#endif
);
typedef void (*XmbDrawImageStringProc)(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* drawable */,
XFontSet /* font_set */,
GC /* gc */,
int /* x */,
int /* y */,
_Xconst char* /* text */,
const char* /* text */,
int /* text_len */
#endif
);
typedef int (*XwcTextEscapementProc)(
#if NeedFunctionPrototypes
XFontSet /* font_set */,
_Xconst wchar_t* /* text */,
const wchar_t* /* text */,
int /* text_len */
#endif
);
typedef int (*XwcTextExtentsProc)(
#if NeedFunctionPrototypes
XFontSet /* font_set */,
_Xconst wchar_t* /* text */,
const wchar_t* /* text */,
int /* text_len */,
XRectangle* /* overall_ink_extents */,
XRectangle* /* overall_logical_extents */
#endif
);
typedef Status (*XwcTextPerCharExtentsProc)(
#if NeedFunctionPrototypes
XFontSet /* font_set */,
_Xconst wchar_t* /* text */,
const wchar_t* /* text */,
int /* text_len */,
XRectangle* /* ink_extents_buffer */,
XRectangle* /* logical_extents_buffer */,
@ -591,33 +524,28 @@ typedef Status (*XwcTextPerCharExtentsProc)(
int* /* num_chars */,
XRectangle* /* max_ink_extents */,
XRectangle* /* max_logical_extents */
#endif
);
typedef int (*XwcDrawStringProc)(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* drawable */,
XFontSet /* font_set */,
GC /* gc */,
int /* x */,
int /* y */,
_Xconst wchar_t* /* text */,
const wchar_t* /* text */,
int /* text_len */
#endif
);
typedef void (*XwcDrawImageStringProc)(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* drawable */,
XFontSet /* font_set */,
GC /* gc */,
int /* x */,
int /* y */,
_Xconst wchar_t* /* text */,
const wchar_t* /* text */,
int /* text_len */
#endif
);
typedef struct {
@ -669,12 +597,6 @@ typedef struct _XOC {
} XOCRec;
/* current Ultrix compiler gets horribly confused */
#if defined(FUNCPROTO) && defined(ultrix)
#undef NeedFunctionPrototypes
#endif
/*
* X Input Managers are an instantiable object, so we define it, the
* object itself, a method list and data.
@ -685,34 +607,22 @@ typedef struct _XOC {
*/
typedef struct {
Status (*close)(
#if NeedFunctionPrototypes
XIM
#endif
);
char* (*set_values)(
#if NeedFunctionPrototypes
XIM, XIMArg*
#endif
);
char* (*get_values)(
#if NeedFunctionPrototypes
XIM, XIMArg*
#endif
);
XIC (*create_ic)(
#if NeedFunctionPrototypes
XIM, XIMArg*
#endif
);
int (*ctstombs)(
#if NeedFunctionPrototypes
XIM, char*, int, char*, int, Status *
#endif
);
int (*ctstowcs)(
#if NeedFunctionPrototypes
XIM, char*, int, wchar_t*, int, Status *
#endif
);
} XIMMethodsRec, *XIMMethods;
@ -763,49 +673,31 @@ typedef struct _XIM {
*/
typedef struct {
void (*destroy)(
#if NeedFunctionPrototypes
XIC
#endif
);
void (*set_focus)(
#if NeedFunctionPrototypes
XIC
#endif
);
void (*unset_focus)(
#if NeedFunctionPrototypes
XIC
#endif
);
char* (*set_values)(
#if NeedFunctionPrototypes
XIC, XIMArg*
#endif
);
char* (*get_values)(
#if NeedFunctionPrototypes
XIC, XIMArg*
#endif
);
char* (*mb_reset)(
#if NeedFunctionPrototypes
XIC
#endif
);
wchar_t* (*wc_reset)(
#if NeedFunctionPrototypes
XIC
#endif
);
int (*mb_lookup_string)(
#if NeedFunctionPrototypes
XIC, XKeyEvent*, char*, int, KeySym*, Status*
#endif
);
int (*wc_lookup_string)(
#if NeedFunctionPrototypes
XIC, XKeyEvent*, wchar_t*, int, KeySym*, Status*
#endif
);
} XICMethodsRec, *XICMethods;
@ -847,186 +739,135 @@ typedef struct _XIC {
XICCoreRec core; /* data of this IC */
} XICRec;
/* current Ultrix compiler gets horribly confused */
#if !defined(NeedFunctionPrototypes) && defined(FUNCPROTO)
#define NeedFunctionPrototypes 1
#endif
typedef XLCd (*XLCdLoadProc)(
#if NeedFunctionPrototypes
char*
#endif
);
_XFUNCPROTOBEGIN
extern XLCd _falOpenLC(
#if NeedFunctionPrototypes
char* /* name */
#endif
);
extern void _falCloseLC(
#if NeedFunctionPrototypes
XLCd /* lcd */
#endif
);
extern XLCd _fallcCurrentLC(
#if NeedFunctionPrototypes
void
#endif
);
extern Bool _fallcValidModSyntax(
#if NeedFunctionPrototypes
char* /* mods */,
char** /* valid */
#endif
);
extern char *_fallcDefaultMapModifiers(
#if NeedFunctionPrototypes
XLCd /* lcd */,
char* /* user_mods */,
char* /* prog_mods */
#endif
);
extern void _XIMCompileResourceList(
#if NeedFunctionPrototypes
XIMResourceList /* res */,
unsigned int /* num_res */
#endif
);
extern void _XCopyToArg(
#if NeedFunctionPrototypes
XPointer /* src */,
XPointer* /* dst */,
unsigned int /* size */
#endif
);
extern char ** _falParseBaseFontNameList(
#if NeedFunctionPrototypes
char* /* str */,
int* /* num */
#endif
);
extern XrmMethods _falrmInitParseInfo(
#if NeedFunctionPrototypes
XPointer* /* statep */
#endif
);
extern void _XRegisterFilterByMask(
#if NeedFunctionPrototypes
Display* /* dpy */,
Window /* window */,
unsigned long /* event_mask */,
Bool (*)(
#if NeedNestedPrototypes
Display* /* display */,
Window /* window */,
XEvent* /* event */,
XPointer /* client_data */
#endif
) /* filter */,
XPointer /* client_data */
#endif
);
extern void _XRegisterFilterByType(
#if NeedFunctionPrototypes
Display* /* dpy */,
Window /* window */,
int /* start_type */,
int /* end_type */,
Bool (*)(
#if NeedNestedPrototypes
Display* /* display */,
Window /* window */,
XEvent* /* event */,
XPointer /* client_data */
#endif
) /* filter */,
XPointer /* client_data */
#endif
);
extern void _XUnregisterFilter(
#if NeedFunctionPrototypes
Display* /* dpy */,
Window /* window */,
Bool (*)(
#if NeedNestedPrototypes
Display* /* display */,
Window /* window */,
XEvent* /* event */,
XPointer /* client_data */
#endif
) /* filter */,
XPointer /* client_data */
#endif
);
extern void _fallcCountVaList(
#if NeedFunctionPrototypes
va_list /* var */,
int* /* count_return */
#endif
);
extern void _fallcVaToArgList(
#if NeedFunctionPrototypes
va_list /* var */,
int /* count */,
XlcArgList* /* args_return */
#endif
);
extern void _fallcCompileResourceList(
#if NeedFunctionPrototypes
XlcResourceList /* resources */,
int /* num_resources */
#endif
);
extern char *_fallcGetValues(
#if NeedFunctionPrototypes
XPointer /* base */,
XlcResourceList /* resources */,
int /* num_resources */,
XlcArgList /* args */,
int /* num_args */,
unsigned long /* mask */
#endif
);
extern char *_fallcSetValues(
#if NeedFunctionPrototypes
XPointer /* base */,
XlcResourceList /* resources */,
int /* num_resources */,
XlcArgList /* args */,
int /* num_args */,
unsigned long /* mask */
#endif
);
extern Bool _fallcAddLoader(
#if NeedFunctionPrototypes
XLCdLoadProc /* proc */,
XlcPosition /* position */
#endif
);
extern void _fallcRemoveLoader(
#if NeedFunctionPrototypes
XLCdLoadProc /* proc */
#endif
);
_XFUNCPROTOEND

View file

@ -192,11 +192,9 @@ struct _XDisplay
#define XAllocIDs(dpy,ids,n) (*(dpy)->idlist_alloc)(dpy,ids,n)
/*
* define the following if you want the Data macro to be a procedure instead
* define DataRoutineIsProcedure if you want the Data macro to be a procedure
* instead
*/
#ifdef CRAY
#define DataRoutineIsProcedure
#endif /* CRAY */
#ifndef _XEVENT_
/*
@ -214,21 +212,14 @@ typedef struct _XSQEvent
#define NEED_REPLIES
#endif
#if NeedFunctionPrototypes /* prototypes require event type definitions */
#define NEED_EVENTS
#define NEED_REPLIES
#endif
#include <X11/Xproto.h>
#include <errno.h>
#define _XBCOPYFUNC _Xbcopy
#include <X11/Xfuncs.h>
#include <X11/Xosdefs.h>
/* Utek leaves kernel macros around in include files (bleah) */
#ifdef dirty
#undef dirty
#endif
#ifndef X_NOT_STDC_ENV
#include <stdlib.h>
#include <string.h>
@ -272,32 +263,24 @@ typedef struct _LockInfoRec *LockInfoPtr;
/* in XlibInt.c */
extern void (*_XCreateMutex_fn)(
#if NeedFunctionPrototypes
LockInfoPtr /* lock */
#endif
);
extern void (*_XFreeMutex_fn)(
#if NeedFunctionPrototypes
LockInfoPtr /* lock */
#endif
);
extern void (*_XLockMutex_fn)(
#if NeedFunctionPrototypes
LockInfoPtr /* lock */
#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
, char * /* file */
, int /* line */
#endif
#endif
);
extern void (*_XUnlockMutex_fn)(
#if NeedFunctionPrototypes
LockInfoPtr /* lock */
#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
, char * /* file */
, int /* line */
#endif
#endif
);
extern LockInfoPtr _Xglobal_lock;
@ -348,9 +331,6 @@ extern LockInfoPtr _Xglobal_lock;
#endif
#ifndef NULL
#define NULL 0
#endif
#define LOCKED 1
#define UNLOCKED 0
@ -402,26 +382,7 @@ extern int errno; /* Internal system error number. */
* X Protocol packetizing macros.
*/
/* Need to start requests on 64 bit word boundaries
* on a CRAY computer so add a NoOp (127) if needed.
* A character pointer on a CRAY computer will be non-zero
* after shifting right 61 bits of it is not pointing to
* a word boundary.
*/
#ifdef WORD64
#define WORD64ALIGN if ((long)dpy->bufptr >> 61) {\
dpy->last_req = dpy->bufptr;\
*(dpy->bufptr) = X_NoOperation;\
*(dpy->bufptr+1) = 0;\
*(dpy->bufptr+2) = 0;\
*(dpy->bufptr+3) = 1;\
dpy->request++;\
dpy->bufptr += 4;\
}
#else /* else does not require alignment on 64-bit boundaries */
#define WORD64ALIGN
#endif /* WORD64 */
/*
* GetReq - Get the next available X request packet in the buffer and
@ -537,18 +498,6 @@ extern int errno; /* Internal system error number. */
dpy->request++
#endif
#ifdef WORD64
#define MakeBigReq(req,n) \
{ \
char _BRdat[4]; \
unsigned long _BRlen = req->length - 1; \
req->length = 0; \
memcpy(_BRdat, ((char *)req) + (_BRlen << 2), 4); \
memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); \
memcpy(((char *)req) + 4, _BRdat, 4); \
Data32(dpy, (long *)&_BRdat, 4); \
}
#else
#define MakeBigReq(req,n) \
{ \
long _BRdat; \
@ -559,7 +508,6 @@ extern int errno; /* Internal system error number. */
((unsigned long *)req)[1] = _BRlen + n + 2; \
Data32(dpy, &_BRdat, 4); \
}
#endif
#define SetReqLen(req,n,badlen) \
if ((req->length + n) > (unsigned)65535) { \
@ -615,10 +563,6 @@ extern int errno; /* Internal system error number. */
ptr = (type) dpy->bufptr; \
dpy->bufptr += (n);
#ifdef WORD64
#define Data16(dpy, data, len) _XData16(dpy, (short *)data, len)
#define Data32(dpy, data, len) _XData32(dpy, (long *)data, len)
#else
#define Data16(dpy, data, len) Data((dpy), (char *)(data), (len))
#define _XRead16Pad(dpy, data, len) _XReadPad((dpy), (char *)(data), (len))
#define _XRead16(dpy, data, len) _XRead((dpy), (char *)(data), (len))
@ -628,7 +572,6 @@ extern int errno; /* Internal system error number. */
#define Data32(dpy, data, len) Data((dpy), (char *)(data), (len))
#define _XRead32(dpy, data, len) _XRead((dpy), (char *)(data), (len))
#endif
#endif /* not WORD64 */
#define PackData16(dpy,data,len) Data16 (dpy, data, len)
#define PackData32(dpy,data,len) Data32 (dpy, data, len)
@ -778,87 +721,60 @@ _XFUNCPROTOBEGIN
extern void Data();
#endif
extern int _XError(
#if NeedFunctionPrototypes
Display* /* dpy */,
xError* /* rep */
#endif
);
extern int _XIOError(
#if NeedFunctionPrototypes
Display* /* dpy */
#endif
);
extern int (*_XIOErrorFunction)(
#if NeedNestedPrototypes
Display* /* dpy */
#endif
);
extern int (*_XErrorFunction)(
#if NeedNestedPrototypes
Display* /* dpy */,
XErrorEvent* /* error_event */
#endif
);
extern void _XEatData(
#if NeedFunctionPrototypes
Display* /* dpy */,
unsigned long /* n */
#endif
);
extern char *_XAllocScratch(
#if NeedFunctionPrototypes
Display* /* dpy */,
unsigned long /* nbytes */
#endif
);
extern char *_XAllocTemp(
#if NeedFunctionPrototypes
Display* /* dpy */,
unsigned long /* nbytes */
#endif
);
extern void _XFreeTemp(
#if NeedFunctionPrototypes
Display* /* dpy */,
char* /* buf */,
unsigned long /* nbytes */
#endif
);
extern Visual *_XVIDtoVisual(
#if NeedFunctionPrototypes
Display* /* dpy */,
VisualID /* id */
#endif
);
extern unsigned long _XSetLastRequestRead(
#if NeedFunctionPrototypes
Display* /* dpy */,
xGenericReply* /* rep */
#endif
);
extern int _XGetHostname(
#if NeedFunctionPrototypes
char* /* buf */,
int /* maxlen */
#endif
);
extern Screen *_XScreenOfWindow(
#if NeedFunctionPrototypes
Display* /* dpy */,
Window /* w */
#endif
);
extern Bool _XAsyncErrorHandler(
#if NeedFunctionPrototypes
Display* /* dpy */,
xReply* /* rep */,
char* /* buf */,
int /* len */,
XPointer /* data */
#endif
);
extern char *_XGetAsyncReply(
#if NeedFunctionPrototypes
Display* /* dpy */,
char* /* replbuf */,
xReply* /* rep */,
@ -866,347 +782,238 @@ extern char *_XGetAsyncReply(
int /* len */,
int /* extra */,
Bool /* discard */
#endif
);
extern _XFlush(
#if NeedFunctionPrototypes
Display* /* dpy */
#endif
);
extern int _XEventsQueued(
#if NeedFunctionPrototypes
Display* /* dpy */,
int /* mode */
#endif
);
extern _XReadEvents(
#if NeedFunctionPrototypes
Display* /* dpy */
#endif
);
extern _XRead(
#if NeedFunctionPrototypes
Display* /* dpy */,
char* /* data */,
long /* size */
#endif
);
extern _XReadPad(
#if NeedFunctionPrototypes
Display* /* dpy */,
char* /* data */,
long /* size */
#endif
);
extern _XSend(
#if NeedFunctionPrototypes
Display* /* dpy */,
_Xconst char* /* data */,
const char* /* data */,
long /* size */
#endif
);
extern Status _XReply(
#if NeedFunctionPrototypes
Display* /* dpy */,
xReply* /* rep */,
int /* extra */,
Bool /* discard */
#endif
);
extern _XEnq(
#if NeedFunctionPrototypes
Display* /* dpy */,
xEvent* /* event */
#endif
);
extern _XDeq(
#if NeedFunctionPrototypes
Display* /* dpy */,
_XQEvent* /* prev */,
_XQEvent* /* qelt */
#endif
);
extern int (*XESetCreateGC(
#if NeedFunctionPrototypes
Display* /* display */,
int /* extension */,
int (*) (
#if NeedNestedPrototypes
Display* /* display */,
GC /* gc */,
XExtCodes* /* codes */
#endif
) /* proc */
#endif
))(
#if NeedNestedPrototypes
Display*, GC, XExtCodes*
#endif
);
extern int (*XESetCopyGC(
#if NeedFunctionPrototypes
Display* /* display */,
int /* extension */,
int (*) (
#if NeedNestedPrototypes
Display* /* display */,
GC /* gc */,
XExtCodes* /* codes */
#endif
) /* proc */
#endif
))(
#if NeedNestedPrototypes
Display*, GC, XExtCodes*
#endif
);
extern int (*XESetFlushGC(
#if NeedFunctionPrototypes
Display* /* display */,
int /* extension */,
int (*) (
#if NeedNestedPrototypes
Display* /* display */,
GC /* gc */,
XExtCodes* /* codes */
#endif
) /* proc */
#endif
))(
#if NeedNestedPrototypes
Display*, GC, XExtCodes*
#endif
);
extern int (*XESetFreeGC(
#if NeedFunctionPrototypes
Display* /* display */,
int /* extension */,
int (*) (
#if NeedNestedPrototypes
Display* /* display */,
GC /* gc */,
XExtCodes* /* codes */
#endif
) /* proc */
#endif
))(
#if NeedNestedPrototypes
Display*, GC, XExtCodes*
#endif
);
extern int (*XESetCreateFont(
#if NeedFunctionPrototypes
Display* /* display */,
int /* extension */,
int (*) (
#if NeedNestedPrototypes
Display* /* display */,
XFontStruct* /* fs */,
XExtCodes* /* codes */
#endif
) /* proc */
#endif
))(
#if NeedNestedPrototypes
Display*, XFontStruct*, XExtCodes*
#endif
);
extern int (*XESetFreeFont(
#if NeedFunctionPrototypes
Display* /* display */,
int /* extension */,
int (*) (
#if NeedNestedPrototypes
Display* /* display */,
XFontStruct* /* fs */,
XExtCodes* /* codes */
#endif
) /* proc */
#endif
))(
#if NeedNestedPrototypes
Display*, XFontStruct*, XExtCodes*
#endif
);
extern int (*XESetCloseDisplay(
#if NeedFunctionPrototypes
Display* /* display */,
int /* extension */,
int (*) (
#if NeedNestedPrototypes
Display* /* display */,
XExtCodes* /* codes */
#endif
) /* proc */
#endif
))(
#if NeedNestedPrototypes
Display*, XExtCodes*
#endif
);
extern int (*XESetError(
#if NeedFunctionPrototypes
Display* /* display */,
int /* extension */,
int (*) (
#if NeedNestedPrototypes
Display* /* display */,
xError* /* err */,
XExtCodes* /* codes */,
int* /* ret_code */
#endif
) /* proc */
#endif
))(
#if NeedNestedPrototypes
Display*, xError*, XExtCodes*, int*
#endif
);
extern char* (*XESetErrorString(
#if NeedFunctionPrototypes
Display* /* display */,
int /* extension */,
char* (*) (
#if NeedNestedPrototypes
Display* /* display */,
int /* code */,
XExtCodes* /* codes */,
char* /* buffer */,
int /* nbytes */
#endif
) /* proc */
#endif
))(
#if NeedNestedPrototypes
Display*, int, XExtCodes*, char*, int
#endif
);
extern void (*XESetPrintErrorValues (
#if NeedFunctionPrototypes
Display* /* display */,
int /* extension */,
void (*)(
#if NeedNestedPrototypes
Display* /* display */,
XErrorEvent* /* ev */,
void* /* fp */
#endif
) /* proc */
#endif
))(
#if NeedNestedPrototypes
Display*, XErrorEvent*, void*
#endif
);
extern Bool (*XESetWireToEvent(
#if NeedFunctionPrototypes
Display* /* display */,
int /* event_number */,
Bool (*) (
#if NeedNestedPrototypes
Display* /* display */,
XEvent* /* re */,
xEvent* /* event */
#endif
) /* proc */
#endif
))(
#if NeedNestedPrototypes
Display*, XEvent*, xEvent*
#endif
);
extern Status (*XESetEventToWire(
#if NeedFunctionPrototypes
Display* /* display */,
int /* event_number */,
Status (*) (
#if NeedNestedPrototypes
Display* /* display */,
XEvent* /* re */,
xEvent* /* event */
#endif
) /* proc */
#endif
))(
#if NeedNestedPrototypes
Display*, XEvent*, xEvent*
#endif
);
extern Bool (*XESetWireToError(
#if NeedFunctionPrototypes
Display* /* display */,
int /* error_number */,
Bool (*) (
#if NeedNestedPrototypes
Display* /* display */,
XErrorEvent* /* he */,
xError* /* we */
#endif
) /* proc */
#endif
))(
#if NeedNestedPrototypes
Display*, XErrorEvent*, xError*
#endif
);
extern void (*XESetBeforeFlush(
#if NeedFunctionPrototypes
Display* /* display */,
int /* error_number */,
void (*) (
#if NeedNestedPrototypes
Display* /* display */,
XExtCodes* /* codes */,
char* /* data */,
long /* len */
#endif
) /* proc */
#endif
))(
#if NeedNestedPrototypes
Display*, XExtCodes*, char*, long
#endif
);
/* internal connections for IMs */
typedef void (*_XInternalConnectionProc)(
#if NeedFunctionPrototypes
Display* /* dpy */,
int /* fd */,
XPointer /* call_data */
#endif
);
extern Status _XRegisterInternalConnection(
#if NeedFunctionPrototypes
Display* /* dpy */,
int /* fd */,
_XInternalConnectionProc /* callback */,
XPointer /* call_data */
#endif
);
extern void _XUnregisterInternalConnection(
#if NeedFunctionPrototypes
Display* /* dpy */,
int /* fd */
#endif
);
/* Display structure has pointers to these */
@ -1226,19 +1033,15 @@ struct _XConnWatchInfo { /* info from XAddConnectionWatch */
};
extern int XTextHeight(
#if NeedFunctionPrototypes
XFontStruct* /* font_struct */,
_Xconst char* /* string */,
const char* /* string */,
int /* count */
#endif
);
extern int XTextHeight16(
#if NeedFunctionPrototypes
XFontStruct* /* font_struct */,
_Xconst XChar2b* /* string */,
const XChar2b* /* string */,
int /* count */
#endif
);
_XFUNCPROTOEND

View file

@ -70,9 +70,7 @@ struct _XCVList {
};
extern xthread_t (*_Xthread_self_fn)( /* in XlibInt.c */
#if NeedFunctionPrototypes
void
#endif
);
/* Display->lock is a pointer to one of these */
@ -97,77 +95,57 @@ struct _XLockInfo {
struct _XCVList *free_cvls;
/* used only in XlibInt.c */
void (*pop_reader)(
#if NeedNestedPrototypes
Display* /* dpy */,
struct _XCVList** /* list */,
struct _XCVList*** /* tail */
#endif
);
struct _XCVList *(*push_reader)(
#if NeedNestedPrototypes
Display * /* dpy */,
struct _XCVList*** /* tail */
#endif
);
void (*condition_wait)(
#if NeedNestedPrototypes
xcondition_t /* cv */,
xmutex_t /* mutex */
#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
, char* /* file */,
int /* line */
#endif
#endif
);
void (*internal_lock_display)(
#if NeedNestedPrototypes
Display* /* dpy */,
Bool /* wskip */
#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
, char* /* file */,
int /* line */
#endif
#endif
);
/* used in XlibInt.c and locking.c */
void (*condition_signal)(
#if NeedNestedPrototypes
xcondition_t /* cv */
#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
, char* /* file */,
int /* line */
#endif
#endif
);
void (*condition_broadcast)(
#if NeedNestedPrototypes
xcondition_t /* cv */
#if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
, char* /* file */,
int /* line */
#endif
#endif
);
/* used in XlibInt.c and XLockDis.c */
void (*lock_wait)(
#if NeedNestedPrototypes
Display* /* dpy */
#endif
);
void (*user_lock_display)(
#if NeedNestedPrototypes
Display* /* dpy */
#endif
);
void (*user_unlock_display)(
#if NeedNestedPrototypes
Display* /* dpy */
#endif
);
struct _XCVList *(*create_cvl)(
#if NeedNestedPrototypes
Display * /* dpy */
#endif
);
};

View file

@ -86,9 +86,7 @@ extern void dbg_printValue(char *str, char **value, int num);
/* For VW/UDC start */
static FontData
init_fontdata(font_data, font_data_count)
FontData font_data;
int font_data_count;
init_fontdata(FontData font_data, int font_data_count)
{
FontData fd;
int i;
@ -105,12 +103,12 @@ init_fontdata(font_data, font_data_count)
}
static VRotate
init_vrotate(font_data, font_data_count, type, code_range, code_range_num)
FontData font_data;
int font_data_count;
int type;
CodeRange code_range;
int code_range_num;
init_vrotate(
FontData font_data,
int font_data_count,
int type,
CodeRange code_range,
int code_range_num)
{
VRotate vrotate;
int i;
@ -136,13 +134,13 @@ init_vrotate(font_data, font_data_count, type, code_range, code_range_num)
}
static Bool
init_fontset(oc)
XOC oc;
init_fontset(XOC oc)
{
XOCGenericPart *gen;
FontSet font_set;
OMData data;
int count;
int err = 0;
count = XOM_GENERIC(oc->core.om)->data_num;
data = XOM_GENERIC(oc->core.om)->data;
@ -161,16 +159,22 @@ init_fontset(oc)
font_set->charset_list = data->charset_list;
if((font_set->font_data = init_fontdata(data->font_data,
data->font_data_count)) == NULL)
goto err;
data->font_data_count)) == NULL){
err += 1;
break;
}
font_set->font_data_count = data->font_data_count;
if((font_set->substitute = init_fontdata(data->substitute,
data->substitute_num)) == NULL)
goto err;
data->substitute_num)) == NULL){
err += 1;
break;
}
font_set->substitute_num = data->substitute_num;
if((font_set->vmap = init_fontdata(data->vmap,
data->vmap_num)) == NULL)
goto err;
data->vmap_num)) == NULL){
err += 1;
break;
}
font_set->vmap_num = data->vmap_num;
if(data->vrotate_type != VROTATE_NONE) {
@ -180,35 +184,37 @@ init_fontset(oc)
data->font_data_count,
data->vrotate_type,
data->vrotate,
data->vrotate_num)) == NULL)
goto err;
data->vrotate_num)) == NULL){
err += 1;
break;
}
font_set->vrotate_num = data->font_data_count;
}
}
return True;
err:
if(font_set->font_data)
Xfree(font_set->font_data);
if(font_set->substitute)
Xfree(font_set->substitute);
if(font_set->vmap)
Xfree(font_set->vmap);
if(font_set->vrotate)
Xfree(font_set->vrotate);
if(font_set)
Xfree(font_set);
gen->font_set = (FontSet) NULL;
gen->font_set_num = 0;
return False;
if (err == 1){
if(font_set->font_data)
Xfree(font_set->font_data);
if(font_set->substitute)
Xfree(font_set->substitute);
if(font_set->vmap)
Xfree(font_set->vmap);
if(font_set->vrotate)
Xfree(font_set->vrotate);
if(font_set)
Xfree(font_set);
gen->font_set = (FontSet) NULL;
gen->font_set_num = 0;
return False;
} else {
return True;
}
}
/* For VW/UDC end */
static char *
get_prop_name(dpy, fs)
Display *dpy;
XFontStruct *fs;
get_prop_name(Display *dpy, XFontStruct *fs)
{
unsigned long fp;
@ -219,9 +225,7 @@ get_prop_name(dpy, fs)
}
static FontData
check_charset(font_set, font_name)
FontSet font_set;
char *font_name;
check_charset(FontSet font_set, char *font_name)
{
FontData font_data;
char *last;
@ -245,10 +249,7 @@ check_charset(font_set, font_name)
}
static int
check_fontname(oc, name, found_num)
XOC oc;
char *name;
int found_num;
check_fontname(XOC oc, char *name, int found_num)
{
Display *dpy = oc->core.om->core.display;
XOCGenericPart *gen = XOC_GENERIC(oc);
@ -309,10 +310,7 @@ check_fontname(oc, name, found_num)
/* For VW/UDC start */
static Bool
load_fontdata(oc, font_data, font_data_num)
XOC oc;
FontData font_data;
int font_data_num;
load_fontdata(XOC oc, FontData font_data, int font_data_num)
{
Display *dpy = oc->core.om->core.display;
FontData fd = font_data;
@ -328,8 +326,7 @@ load_fontdata(oc, font_data, font_data_num)
}
static Bool
load_font(oc)
XOC oc;
load_font(XOC oc)
{
int i;
XOCGenericPart *gen = XOC_GENERIC(oc);
@ -374,8 +371,7 @@ load_font(oc)
/* For VW/UDC end */
static Bool
load_font_info(oc)
XOC oc;
load_font_info(XOC oc)
{
Display *dpy = oc->core.om->core.display;
XOCGenericPart *gen = XOC_GENERIC(oc);
@ -403,10 +399,11 @@ load_font_info(oc)
/* For Vertical Writing start */
static void
check_fontset_extents(overall, logical_ascent, logical_descent, font)
XCharStruct *overall;
int *logical_ascent, *logical_descent;
XFontStruct *font;
check_fontset_extents(
XCharStruct *overall,
int *logical_ascent,
int *logical_descent,
XFontStruct *font)
{
overall->lbearing = min(overall->lbearing, font->min_bounds.lbearing);
overall->rbearing = max(overall->rbearing, font->max_bounds.rbearing);
@ -420,8 +417,7 @@ check_fontset_extents(overall, logical_ascent, logical_descent, font)
/* For Vertical Writing end */
static void
set_fontset_extents(oc)
XOC oc;
set_fontset_extents(XOC oc)
{
XRectangle *ink = &oc->core.font_set_extents.max_ink_extent;
XRectangle *logical = &oc->core.font_set_extents.max_logical_extent;
@ -495,8 +491,7 @@ set_fontset_extents(oc)
}
static Bool
init_core_part(oc)
XOC oc;
init_core_part(XOC oc)
{
XOCGenericPart *gen = XOC_GENERIC(oc);
FontSet font_set;
@ -524,12 +519,20 @@ init_core_part(oc)
return False;
font_name_list = (char **) Xmalloc(sizeof(char *) * count);
if (font_name_list == NULL)
goto err;
if (font_name_list == NULL){
if (font_name_list)
Xfree(font_name_list);
Xfree(font_struct_list);
return False;
}
font_name_buf = (char *) Xmalloc(length);
if (font_name_buf == NULL)
goto err;
if (font_name_buf == NULL){
if (font_name_list)
Xfree(font_name_list);
Xfree(font_struct_list);
return False;
}
oc->core.font_info.num_font = count;
oc->core.font_info.font_name_list = font_name_list;
@ -556,19 +559,10 @@ init_core_part(oc)
set_fontset_extents(oc);
return True;
err:
if (font_name_list)
Xfree(font_name_list);
Xfree(font_struct_list);
return False;
}
static char *
get_font_name(oc, pattern)
XOC oc;
char *pattern;
get_font_name(XOC oc, char *pattern)
{
char **list, *name;
int count = 0;
@ -589,8 +583,7 @@ get_font_name(oc, pattern)
/* For VW/UDC start*/
static char
*get_rotate_fontname(font_name)
char *font_name;
*get_rotate_fontname(char *font_name)
{
char *pattern = NULL, *ptr = NULL;
char *fields[CHARSET_ENCODING_FIELD];
@ -663,9 +656,7 @@ static char
}
static Bool
is_match_charset(font_data, font_name)
FontData font_data;
char *font_name;
is_match_charset(FontData font_data, char *font_name)
{
char *last;
int length, name_len;
@ -684,10 +675,7 @@ is_match_charset(font_data, font_name)
}
static int
parse_all_name(oc, font_data, pattern)
XOC oc;
FontData font_data;
char *pattern;
parse_all_name(XOC oc, FontData font_data, char *pattern)
{
if(is_match_charset(font_data, pattern) != True)
@ -702,10 +690,7 @@ parse_all_name(oc, font_data, pattern)
}
static int
parse_omit_name(oc, font_data, pattern)
XOC oc;
FontData font_data;
char *pattern;
parse_omit_name(XOC oc, FontData font_data, char *pattern)
{
char *font_name = (char *) NULL;
char *last = (char *) NULL;
@ -770,14 +755,13 @@ parse_omit_name(oc, font_data, pattern)
typedef enum{C_PRIMARY, C_SUBSTITUTE, C_VMAP, C_VROTATE } ClassType;
static int
parse_fontdata(oc, font_data, font_data_count, name_list, name_list_count,
class)
XOC oc;
FontData font_data;
int font_data_count;
char **name_list;
int name_list_count;
ClassType class;
parse_fontdata(
XOC oc,
FontData font_data,
int font_data_count,
char **name_list,
int name_list_count,
ClassType class)
{
char **cur_name_list = name_list;
char *font_name = (char *) NULL;
@ -866,11 +850,7 @@ parse_fontdata(oc, font_data, font_data_count, name_list, name_list_count,
static int
parse_vw(oc, font_set, name_list, count)
XOC oc;
FontSet font_set;
char **name_list;
int count;
parse_vw(XOC oc, FontSet font_set, char **name_list, int count)
{
FontData vmap = font_set->vmap;
VRotate vrotate = font_set->vrotate;
@ -929,8 +909,7 @@ parse_vw(oc, font_set, name_list, count)
}
static int
parse_fontname(oc)
XOC oc;
parse_fontname(XOC oc)
{
XOCGenericPart *gen = XOC_GENERIC(oc);
FontSet font_set;
@ -957,17 +936,22 @@ parse_fontname(oc)
font_set->font_data_count,
name_list, count, C_PRIMARY);
if(ret == -1) {
goto err;
falFreeStringList(name_list);
return -1;
} else if(ret == True) {
font_set->font_name = (char *)Xmalloc
(strlen(font_set->font_data->xlfd_name) + 1);
if(font_set->font_name == (char *) NULL)
goto err;
if(font_set->font_name == (char *) NULL){
falFreeStringList(name_list);
return -1;
}
strcpy(font_set->font_name, font_set->font_data->xlfd_name);
font_set->side = font_set->font_data->side;
if(parse_vw(oc, font_set, name_list, count) == -1)
goto err;
if(parse_vw(oc, font_set, name_list, count) == -1){
falFreeStringList(name_list);
return -1;
}
found_num++;
/* The substitute font is serched, when the primary fonts */
@ -992,7 +976,8 @@ parse_fontname(oc)
font_set->substitute_num,
name_list, count, C_SUBSTITUTE);
if(ret == -1) {
goto err;
falFreeStringList(name_list);
return -1;
} else if(ret == True) {
for(i=0;i<font_set->substitute_num;i++){
if(font_set->substitute[i].xlfd_name != NULL){
@ -1001,12 +986,16 @@ parse_fontname(oc)
}
font_set->font_name = (char *)Xmalloc
(strlen(font_set->substitute[i].xlfd_name) + 1);
if(font_set->font_name == (char *) NULL)
goto err;
if(font_set->font_name == (char *) NULL){
falFreeStringList(name_list);
return -1;
}
strcpy(font_set->font_name,font_set->substitute[i].xlfd_name);
font_set->side = font_set->substitute[i].side;
if(parse_vw(oc, font_set, name_list, count) == -1)
goto err;
if(parse_vw(oc, font_set, name_list, count) == -1){
falFreeStringList(name_list);
return -1;
}
found_num++;
}
}
@ -1015,7 +1004,8 @@ parse_fontname(oc)
font_set->substitute_num,
name_list, count, C_SUBSTITUTE);
if(ret == -1) {
goto err;
falFreeStringList(name_list);
return -1;
} else if(ret == True) {
for(i=0;i<font_set->substitute_num;i++){
if(font_set->substitute[i].xlfd_name != NULL){
@ -1024,12 +1014,17 @@ parse_fontname(oc)
}
font_set->font_name = (char *)Xmalloc
(strlen(font_set->substitute[i].xlfd_name) + 1);
if(font_set->font_name == (char *) NULL)
goto err;
if(font_set->font_name == (char *) NULL){
falFreeStringList(name_list);
return -1;
}
strcpy(font_set->font_name,font_set->substitute[i].xlfd_name);
font_set->side = font_set->substitute[i].side;
if(parse_vw(oc, font_set, name_list, count) == -1)
goto err;
if(parse_vw(oc, font_set, name_list, count) == -1){
falFreeStringList(name_list);
return -1;
}
found_num++;
}
@ -1037,8 +1032,10 @@ parse_fontname(oc)
}
base_name = (char *) Xmalloc(strlen(oc->core.base_name_list) + 1);
if (base_name == NULL)
goto err;
if (base_name == NULL){
falFreeStringList(name_list);
return -1;
}
strcpy(base_name, oc->core.base_name_list);
oc->core.base_name_list = base_name;
@ -1046,18 +1043,12 @@ parse_fontname(oc)
falFreeStringList(name_list);
return found_num;
err:
falFreeStringList(name_list);
return -1;
}
/* For VW/UDC end*/
static Bool
set_missing_list(oc)
XOC oc;
set_missing_list(XOC oc)
{
XOCGenericPart *gen = XOC_GENERIC(oc);
FontSet font_set;
@ -1140,8 +1131,7 @@ set_missing_list(oc)
}
static Bool
create_fontset(oc)
XOC oc;
create_fontset(XOC oc)
{
XOMGenericPart *gen = XOM_GENERIC(oc->core.om);
int found_num;
@ -1175,10 +1165,7 @@ create_fontset(oc)
/* For VW/UDC start */
static void
free_fontdataOC(dpy,font_data, font_data_count)
Display *dpy;
FontData font_data;
int font_data_count;
free_fontdataOC(Display *dpy, FontData font_data, int font_data_count)
{
for( ; font_data_count-- ; font_data++) {
if(font_data->xlfd_name){
@ -1208,9 +1195,7 @@ free_fontdataOC(dpy,font_data, font_data_count)
}
static void
destroy_fontdata(gen,dpy)
XOCGenericPart *gen ;
Display *dpy ;
destroy_fontdata(XOCGenericPart *gen, Display *dpy)
{
FontSet font_set = (FontSet) NULL;
int font_set_num = 0;
@ -1252,8 +1237,7 @@ destroy_fontdata(gen,dpy)
/* For VW/UDC end */
static void
destroy_oc(oc)
XOC oc;
destroy_oc(XOC oc)
{
Display *dpy = oc->core.om->core.display;
XOCGenericPart *gen = XOC_GENERIC(oc);
@ -1287,21 +1271,11 @@ destroy_oc(oc)
if (oc->core.missing_list.charset_list)
falFreeStringList(oc->core.missing_list.charset_list);
#ifdef notdef
if (oc->core.res_name)
Xfree(oc->core.res_name);
if (oc->core.res_class)
Xfree(oc->core.res_class);
#endif
Xfree(oc);
}
static char *
set_oc_values(oc, args, num_args)
XOC oc;
XlcArgList args;
int num_args;
set_oc_values(XOC oc, XlcArgList args, int num_args)
{
if (oc->core.resources == NULL)
return NULL;
@ -1311,10 +1285,7 @@ set_oc_values(oc, args, num_args)
}
static char *
get_oc_values(oc, args, num_args)
XOC oc;
XlcArgList args;
int num_args;
get_oc_values(XOC oc, XlcArgList args, int num_args)
{
if (oc->core.resources == NULL)
return NULL;
@ -1385,10 +1356,7 @@ static XlcResource oc_resources[] = {
};
static XOC
create_oc(om, args, num_args)
XOM om;
XlcArgList args;
int num_args;
create_oc(XOM om, XlcArgList args, int num_args)
{
XOC oc;
XOMGenericPart *gen = XOM_GENERIC(om);
@ -1406,18 +1374,21 @@ create_oc(om, args, num_args)
_fallcCompileResourceList(oc_resources, XlcNumber(oc_resources));
if (_fallcSetValues((XPointer) oc, oc_resources, XlcNumber(oc_resources),
args, num_args, XlcCreateMask | XlcDefaultMask))
goto err;
if (oc->core.base_name_list == NULL)
goto err;
args, num_args, XlcCreateMask | XlcDefaultMask)){
destroy_oc(oc);
return (XOC) NULL;
}
if (oc->core.base_name_list == NULL){
destroy_oc(oc);
return (XOC) NULL;
}
oc->core.resources = oc_resources;
oc->core.num_resources = XlcNumber(oc_resources);
if (create_fontset(oc) == False)
goto err;
if (create_fontset(oc) == False){
destroy_oc(oc);
return (XOC) NULL;
}
oc->methods = &oc_generic_methods;
if (gen->object_name) {
@ -1432,17 +1403,10 @@ create_oc(om, args, num_args)
}
return oc;
err:
destroy_oc(oc);
return (XOC) NULL;
}
static void
free_fontdataOM(font_data, font_data_count)
FontData font_data;
int font_data_count;
free_fontdataOM(FontData font_data, int font_data_count)
{
for( ; font_data_count-- ; font_data++) {
if(font_data->name){
@ -1457,8 +1421,7 @@ free_fontdataOM(font_data, font_data_count)
}
static Status
close_om(om)
XOM om;
close_om(XOM om)
{
XOMGenericPart *gen = XOM_GENERIC(om);
OMData data;
@ -1533,10 +1496,7 @@ close_om(om)
}
static char *
set_om_values(om, args, num_args)
XOM om;
XlcArgList args;
int num_args;
set_om_values(XOM om, XlcArgList args, int num_args)
{
if (om->core.resources == NULL)
return NULL;
@ -1546,10 +1506,7 @@ set_om_values(om, args, num_args)
}
static char *
get_om_values(om, args, num_args)
XOM om;
XlcArgList args;
int num_args;
get_om_values(XOM om, XlcArgList args, int num_args)
{
if (om->core.resources == NULL)
return NULL;
@ -1577,12 +1534,12 @@ static XlcResource om_resources[] = {
};
static XOM
create_om(lcd, dpy, rdb, res_name, res_class)
XLCd lcd;
Display *dpy;
XrmDatabase rdb;
char *res_name;
char *res_class;
create_om(
XLCd lcd,
Display *dpy,
XrmDatabase rdb,
char *res_name,
char *res_class)
{
XOM om;
@ -1597,14 +1554,18 @@ create_om(lcd, dpy, rdb, res_name, res_class)
om->core.rdb = rdb;
if (res_name) {
om->core.res_name = (char *) Xmalloc(strlen(res_name) + 1);
if (om->core.res_name == NULL)
goto err;
if (om->core.res_name == NULL){
close_om(om);
return (XOM) NULL;
}
strcpy(om->core.res_name, res_name);
}
if (res_class) {
om->core.res_class = (char *) Xmalloc(strlen(res_class) + 1);
if (om->core.res_class == NULL)
goto err;
if (om->core.res_class == NULL){
close_om(om);
return (XOM) NULL;
}
strcpy(om->core.res_class, res_class);
}
@ -1615,16 +1576,10 @@ create_om(lcd, dpy, rdb, res_name, res_class)
om->core.num_resources = XlcNumber(om_resources);
return om;
err:
close_om(om);
return (XOM) NULL;
}
static OMData
add_data(om)
XOM om;
add_data(XOM om)
{
XOMGenericPart *gen = XOM_GENERIC(om);
OMData new;
@ -1649,9 +1604,7 @@ add_data(om)
/* For VW/UDC */
FontData
falread_EncodingInfo(count,value)
int count;
char **value;
falread_EncodingInfo(int count, char **value)
{
FontData font_data,ret;
char *buf, *bufptr,*scp;
@ -1694,11 +1647,11 @@ char **value;
return(ret);
}
static CodeRange read_vrotate(count,value,type,vrotate_num)
int count;
char **value;
int *type;
int *vrotate_num;
static CodeRange read_vrotate(
int count,
char **value,
int *type,
int *vrotate_num)
{
FontData font_data,ret;
char *buf, *bufptr,*scp;
@ -1720,10 +1673,7 @@ int *vrotate_num;
}
static void
read_vw(lcd,font_set,num)
XLCd lcd;
OMData font_set;
int num;
read_vw(XLCd lcd, OMData font_set, int num)
{
char **value, buf[BUFSIZ], *bufptr;
int count,i;
@ -1746,8 +1696,7 @@ int num;
}
/* VW/UDC end */
static Bool
init_om(om)
XOM om;
init_om(XOM om)
{
XLCd lcd = om->core.lcd;
XOMGenericPart *gen = XOM_GENERIC(om);
@ -1905,17 +1854,8 @@ init_om(om)
}
XOM
#if NeedFunctionPrototypes
_falomGenericOpenOM(XLCd lcd, Display *dpy, XrmDatabase rdb,
_Xconst char *res_name, _Xconst char *res_class)
#else
_falomGenericOpenOM(lcd, dpy, rdb, res_name, res_class)
XLCd lcd;
Display *dpy;
XrmDatabase rdb;
char *res_name;
char *res_class;
#endif
char *res_name, char *res_class)
{
XOM om;
@ -1923,20 +1863,16 @@ _falomGenericOpenOM(lcd, dpy, rdb, res_name, res_class)
if (om == NULL)
return (XOM) NULL;
if (init_om(om) == False)
goto err;
if (init_om(om) == False){
close_om(om);
return (XOM) NULL;
}
return om;
err:
close_om(om);
return (XOM) NULL;
}
Bool
_falInitOM(lcd)
XLCd lcd;
_falInitOM(XLCd lcd)
{
lcd->methods->open_om = _falomGenericOpenOM;

View file

@ -170,24 +170,19 @@ typedef struct _XOCGenericRec {
_XFUNCPROTOBEGIN
extern XOM _falomGenericOpenOM(
#if NeedFunctionPrototypes
XLCd /* lcd */,
Display* /* dpy */,
XrmDatabase /* rdb */,
_Xconst char* /* res_name */,
_Xconst char* /* res_class */
#endif
char* /* res_name */,
char* /* res_class */
);
extern XlcConv _XomInitConverter(
#if NeedFunctionPrototypes
XOC /* oc */,
XOMTextType /* type */
#endif
);
extern int _XomConvert(
#if NeedFunctionPrototypes
XOC /* oc */,
XlcConv /* conv */,
XPointer* /* from */,
@ -196,7 +191,6 @@ extern int _XomConvert(
int* /* to_left */,
XPointer* /* args */,
int /* num_args */
#endif
);
_XFUNCPROTOEND

View file

@ -86,17 +86,6 @@ from the X Consortium.
#include "_falrmI.h"
#include <X11/Xos.h>
#ifdef __STDC__
#define Const const
#else
#define Const /**/
#endif
#if defined(__STDC__) && !defined(NORCONST)
#define RConst const
#else
#define RConst /**/
#endif
/*
These Xrm routines allow very fast lookup of resources in the resource
@ -150,14 +139,13 @@ typedef unsigned long Signature;
static XrmQuark XrmQString, XrmQANY;
typedef Bool (*DBEnumProc)(
#if NeedNestedPrototypes /* this is Nested on purpose, to match Xlib.h */
/* this is Nested on purpose, to match Xlib.h */
XrmDatabase* /* db */,
XrmBindingList /* bindings */,
XrmQuarkList /* quarks */,
XrmRepresentation* /* type */,
XrmValue* /* value */,
XPointer /* closure */
#endif
);
typedef struct _VEntry {
@ -319,7 +307,7 @@ typedef unsigned char XrmBits;
#define is_special(bits) ((bits) & (ENDOF|BSLASH))
/* parsing types */
static XrmBits Const xrmtypes[256] = {
static XrmBits const xrmtypes[256] = {
EOS,0,0,0,0,0,0,0,
0,SPACE,EOL,0,0,0,0,0,
0,0,0,0,0,0,0,0,
@ -339,7 +327,7 @@ static XrmBits Const xrmtypes[256] = {
/* The rest will be automatically initialized to zero. */
};
void falrmInitialize()
void falrmInitialize(void)
{
XrmQString = falrmPermStringToQuark("String");
XrmQANY = falrmPermStringToQuark("?");
@ -355,29 +343,19 @@ XrmDatabase falrmGetDatabase(display)
return retval;
}
void falrmSetDatabase(display, database)
Display *display;
XrmDatabase database;
void falrmSetDatabase(Display *display, XrmDatabase database)
{
LockDisplay(display);
display->db = database;
UnlockDisplay(display);
}
#if NeedFunctionPrototypes
void falrmStringToQuarkList(
register _Xconst char *name,
register XrmQuarkList quarks) /* RETURN */
#else
void falrmStringToQuarkList(name, quarks)
register char *name;
register XrmQuarkList quarks; /* RETURN */
#endif
void falrmStringToQuarkList(const char *name, XrmQuarkList quarks)/*RETURN*/
{
register XrmBits bits;
register Signature sig = 0;
register char ch, *tname;
register int i = 0;
XrmBits bits;
Signature sig = 0;
char ch, *tname;
int i = 0;
if (tname = (char *)name) {
tname--;
@ -402,23 +380,16 @@ void falrmStringToQuarkList(name, quarks)
*quarks = NULLQUARK;
}
#if NeedFunctionPrototypes
void falrmStringToBindingQuarkList(
register _Xconst char *name,
register XrmBindingList bindings, /* RETURN */
register XrmQuarkList quarks) /* RETURN */
#else
void falrmStringToBindingQuarkList(name, bindings, quarks)
register char *name;
register XrmBindingList bindings; /* RETURN */
register XrmQuarkList quarks; /* RETURN */
#endif
const char *name,
XrmBindingList bindings, /* RETURN */
XrmQuarkList quarks) /* RETURN */
{
register XrmBits bits;
register Signature sig = 0;
register char ch, *tname;
register XrmBinding binding;
register int i = 0;
XrmBits bits;
Signature sig = 0;
char ch, *tname;
XrmBinding binding;
int i = 0;
if (tname = (char *)name) {
tname--;
@ -453,9 +424,7 @@ void falrmStringToBindingQuarkList(name, bindings, quarks)
#ifdef DEBUG
static void PrintQuarkList(quarks, stream)
XrmQuarkList quarks;
FILE *stream;
static void PrintQuarkList(XrmQuarkList quarks, FILE *stream)
{
Bool firstNameSeen;
@ -471,29 +440,24 @@ static void PrintQuarkList(quarks, stream)
#endif /* DEBUG */
/*ARGSUSED*/
static void mbnoop(state)
XPointer state;
static void mbnoop(XPointer state)
{
}
/*ARGSUSED*/
static char mbchar(state, str, lenp)
XPointer state;
char *str;
int *lenp;
static char mbchar(XPointer state, char *str, int *lenp)
{
*lenp = 1;
return *str;
}
/*ARGSUSED*/
static char *lcname(state)
XPointer state;
static char *lcname(XPointer state)
{
return "C";
}
static RConst XrmMethodsRec mb_methods = {
static const XrmMethodsRec mb_methods = {
mbnoop,
mbchar,
mbnoop,
@ -501,9 +465,9 @@ static RConst XrmMethodsRec mb_methods = {
mbnoop
};
static XrmDatabase NewDatabase()
static XrmDatabase NewDatabase(void)
{
register XrmDatabase db;
XrmDatabase db;
db = (XrmDatabase) Xmalloc(sizeof(XrmHashBucketRec));
if (db) {
@ -517,17 +481,15 @@ static XrmDatabase NewDatabase()
}
/* move all values from ftable to ttable, and free ftable's buckets.
* ttable is quaranteed empty to start with.
* ttable is guaranteed empty to start with.
*/
static void MoveValues(ftable, ttable)
LTable ftable;
register LTable ttable;
static void MoveValues(LTable ftable, LTable ttable)
{
register VEntry fentry, nfentry;
register VEntry *prev;
register VEntry *bucket;
register VEntry tentry;
register int i;
VEntry fentry, nfentry;
VEntry *prev;
VEntry *bucket;
VEntry tentry;
int i;
for (i = ftable->table.mask, bucket = ftable->buckets; i >= 0; i--) {
for (fentry = *bucket++; fentry; fentry = nfentry) {
@ -546,15 +508,13 @@ static void MoveValues(ftable, ttable)
/* move all tables from ftable to ttable, and free ftable.
* ttable is quaranteed empty to start with.
*/
static void MoveTables(ftable, ttable)
NTable ftable;
register NTable ttable;
static void MoveTables(NTable ftable, NTable ttable)
{
register NTable fentry, nfentry;
register NTable *prev;
register NTable *bucket;
register NTable tentry;
register int i;
NTable fentry, nfentry;
NTable *prev;
NTable *bucket;
NTable tentry;
int i;
for (i = ftable->mask, bucket = NodeBuckets(ftable); i >= 0; i--) {
for (fentry = *bucket++; fentry; fentry = nfentry) {
@ -571,11 +531,10 @@ static void MoveTables(ftable, ttable)
}
/* grow the table, based on current number of entries */
static void GrowTable(prev)
NTable *prev;
static void GrowTable(NTable *prev)
{
register NTable table;
register int i;
NTable table;
int i;
table = *prev;
i = table->mask;
@ -585,7 +544,7 @@ static void GrowTable(prev)
i = (i << 1) + 1;
i++; /* i is now the new size */
if (table->leaf) {
register LTable ltable;
LTable ltable;
LTableRec otable;
ltable = (LTable)table;
@ -600,7 +559,7 @@ static void GrowTable(prev)
bzero((char *)ltable->buckets, i * sizeof(VEntry));
MoveValues(&otable, ltable);
} else {
register NTable ntable;
NTable ntable;
ntable = (NTable)Xmalloc(sizeof(NTableRec) + i * sizeof(NTable));
if (!ntable)
@ -614,17 +573,14 @@ static void GrowTable(prev)
}
/* merge values from ftable into *pprev, destroy ftable in the process */
static void MergeValues(ftable, pprev, override)
LTable ftable;
NTable *pprev;
Bool override;
static void MergeValues(LTable ftable, NTable *pprev, Bool override)
{
register VEntry fentry, tentry;
register VEntry *prev;
register LTable ttable;
VEntry fentry, tentry;
VEntry *prev;
LTable ttable;
VEntry *bucket;
int i;
register XrmQuark q;
XrmQuark q;
ttable = (LTable)*pprev;
if (ftable->table.hasloose)
@ -694,18 +650,15 @@ static void MergeValues(ftable, pprev, override)
}
/* merge tables from ftable into *pprev, destroy ftable in the process */
static void MergeTables(ftable, pprev, override)
NTable ftable;
NTable *pprev;
Bool override;
static void MergeTables(NTable ftable, NTable *pprev, Bool override)
{
register NTable fentry, tentry;
NTable fentry, tentry;
NTable nfentry;
register NTable *prev;
register NTable ttable;
NTable *prev;
NTable ttable;
NTable *bucket;
int i;
register XrmQuark q;
XrmQuark q;
ttable = *pprev;
if (ftable->hasloose)
@ -767,12 +720,10 @@ static void MergeTables(ftable, pprev, override)
GROW(pprev);
}
void falrmCombineDatabase(from, into, override)
XrmDatabase from, *into;
Bool override;
void falrmCombineDatabase(XrmDatabase from, XrmDatabase *into, Bool override)
{
register NTable *prev;
register NTable ftable, ttable, nftable;
NTable *prev;
NTable ftable, ttable, nftable;
if (!*into) {
*into = from;
@ -816,25 +767,24 @@ void falrmCombineDatabase(from, into, override)
}
}
void falrmMergeDatabases(from, into)
XrmDatabase from, *into;
void falrmMergeDatabases(XrmDatabase from, XrmDatabase *into)
{
falrmCombineDatabase(from, into, True);
}
/* store a value in the database, overriding any existing entry */
static void PutEntry(db, bindings, quarks, type, value)
XrmDatabase db;
XrmBindingList bindings;
XrmQuarkList quarks;
XrmRepresentation type;
XrmValuePtr value;
static void PutEntry(
XrmDatabase db,
XrmBindingList bindings,
XrmQuarkList quarks,
XrmRepresentation type,
XrmValuePtr value)
{
register NTable *pprev, *prev;
register NTable table;
register XrmQuark q;
register VEntry *vprev;
register VEntry entry;
NTable *pprev, *prev;
NTable table;
XrmQuark q;
VEntry *vprev;
VEntry entry;
NTable *nprev, *firstpprev;
#define NEWTABLE(q,i) \
@ -1011,12 +961,12 @@ static void PutEntry(db, bindings, quarks, type, value)
#undef NEWTABLE
}
void falrmQPutResource(pdb, bindings, quarks, type, value)
XrmDatabase *pdb;
XrmBindingList bindings;
XrmQuarkList quarks;
XrmRepresentation type;
XrmValuePtr value;
void falrmQPutResource(
XrmDatabase *pdb,
XrmBindingList bindings,
XrmQuarkList quarks,
XrmRepresentation type,
XrmValuePtr value)
{
if (!*pdb) *pdb = NewDatabase();
_XLockMutex(&(*pdb)->linfo);
@ -1024,19 +974,11 @@ void falrmQPutResource(pdb, bindings, quarks, type, value)
_XUnlockMutex(&(*pdb)->linfo);
}
#if NeedFunctionPrototypes
void falrmPutResource(
XrmDatabase *pdb,
_Xconst char *specifier,
_Xconst char *type,
const char *specifier,
const char *type,
XrmValuePtr value)
#else
void falrmPutResource(pdb, specifier, type, value)
XrmDatabase *pdb;
char *specifier;
char *type;
XrmValuePtr value;
#endif
{
XrmBinding bindings[MAXDBDEPTH+1];
XrmQuark quarks[MAXDBDEPTH+1];
@ -1048,19 +990,11 @@ void falrmPutResource(pdb, specifier, type, value)
_XUnlockMutex(&(*pdb)->linfo);
}
#if NeedFunctionPrototypes
void falrmQPutStringResource(
XrmDatabase *pdb,
XrmBindingList bindings,
XrmQuarkList quarks,
_Xconst char *str)
#else
void falrmQPutStringResource(pdb, bindings, quarks, str)
XrmDatabase *pdb;
XrmBindingList bindings;
XrmQuarkList quarks;
char *str;
#endif
const char *str)
{
XrmValue value;
@ -1093,20 +1027,20 @@ void falrmQPutStringResource(pdb, bindings, quarks, str)
static void GetIncludeFile();
static void GetDatabase(db, str, filename, doall)
XrmDatabase db;
register char *str;
char *filename;
Bool doall;
static void GetDatabase(
XrmDatabase db,
char *str,
char *filename,
Bool doall)
{
register char *ptr;
register XrmBits bits = 0;
register char c;
char *ptr;
XrmBits bits = 0;
char c;
int len;
register Signature sig;
register char *ptr_max;
register XrmQuarkList t_quarks;
register XrmBindingList t_bindings;
Signature sig;
char *ptr_max;
XrmQuarkList t_quarks;
XrmBindingList t_bindings;
int alloc_chars = BUFSIZ;
char buffer[BUFSIZ], *value_str;
@ -1487,17 +1421,10 @@ static void GetDatabase(db, str, filename, doall)
(*db->methods->mbfinish)(db->mbstate);
}
#if NeedFunctionPrototypes
void falrmPutStringResource(
XrmDatabase *pdb,
_Xconst char*specifier,
_Xconst char*str)
#else
void falrmPutStringResource(pdb, specifier, str)
XrmDatabase *pdb;
char *specifier;
char *str;
#endif
const char*specifier,
const char*str)
{
XrmValue value;
XrmBinding bindings[MAXDBDEPTH+1];
@ -1513,15 +1440,7 @@ void falrmPutStringResource(pdb, specifier, str)
}
#if NeedFunctionPrototypes
void falrmPutLineResource(
XrmDatabase *pdb,
_Xconst char*line)
#else
void falrmPutLineResource(pdb, line)
XrmDatabase *pdb;
char *line;
#endif
void falrmPutLineResource(XrmDatabase *pdb, char *line)
{
if (!*pdb) *pdb = NewDatabase();
_XLockMutex(&(*pdb)->linfo);
@ -1529,13 +1448,7 @@ void falrmPutLineResource(pdb, line)
_XUnlockMutex(&(*pdb)->linfo);
}
#if NeedFunctionPrototypes
XrmDatabase falrmGetStringDatabase(
_Xconst char *data)
#else
XrmDatabase falrmGetStringDatabase(data)
char *data;
#endif
XrmDatabase falrmGetStringDatabase(char *data)
{
XrmDatabase db;
@ -1553,10 +1466,9 @@ XrmDatabase falrmGetStringDatabase(data)
*/
static char *
ReadInFile(filename)
char * filename;
ReadInFile(char *filename)
{
register int fd, size;
int fd, size;
char * filebuf;
if ( (fd = OpenFile(filename)) == -1 )
@ -1582,11 +1494,11 @@ char * filename;
}
static void
GetIncludeFile(db, base, fname, fnamelen)
XrmDatabase db;
char *base;
char *fname;
int fnamelen;
GetIncludeFile(
XrmDatabase db,
char *base,
char *fname,
int fnamelen)
{
int len;
char *str;
@ -1611,13 +1523,7 @@ GetIncludeFile(db, base, fname, fnamelen)
Xfree(str);
}
#if NeedFunctionPrototypes
XrmDatabase falrmGetFileDatabase(
_Xconst char *filename)
#else
XrmDatabase falrmGetFileDatabase(filename)
char *filename;
#endif
XrmDatabase falrmGetFileDatabase(char *filename)
{
XrmDatabase db;
char *str;
@ -1633,17 +1539,10 @@ XrmDatabase falrmGetFileDatabase(filename)
return db;
}
#if NeedFunctionPrototypes
Status falrmCombineFileDatabase(
_Xconst char *filename,
char *filename,
XrmDatabase *target,
Bool override)
#else
Status falrmCombineFileDatabase(filename, target, override)
char *filename;
XrmDatabase *target;
Bool override;
#endif
{
XrmDatabase db;
char *str;
@ -1669,16 +1568,16 @@ Status falrmCombineFileDatabase(filename, target, override)
* stop if user proc returns True. level is current depth in database.
*/
/*ARGSUSED*/
static Bool EnumLTable(table, names, classes, level, closure)
LTable table;
XrmNameList names;
XrmClassList classes;
register int level;
register EClosure closure;
static Bool EnumLTable(
LTable table,
XrmNameList names,
XrmClassList classes,
int level,
EClosure closure)
{
register VEntry *bucket;
register int i;
register VEntry entry;
VEntry *bucket;
int i;
VEntry entry;
XrmValue value;
XrmRepresentation type;
Bool tightOk;
@ -1715,14 +1614,11 @@ static Bool EnumLTable(table, names, classes, level, closure)
return False;
}
static Bool EnumAllNTable(table, level, closure)
NTable table;
register int level;
register EClosure closure;
static Bool EnumAllNTable(NTable table, int level, EClosure closure)
{
register NTable *bucket;
register int i;
register NTable entry;
NTable *bucket;
int i;
NTable entry;
XrmQuark empty = NULLQUARK;
if (level >= MAXDBDEPTH)
@ -1749,16 +1645,16 @@ static Bool EnumAllNTable(table, level, closure)
/* recurse on every table in the table, arbitrary order.
* stop if user proc returns True. level is current depth in database.
*/
static Bool EnumNTable(table, names, classes, level, closure)
NTable table;
XrmNameList names;
XrmClassList classes;
register int level;
register EClosure closure;
static Bool EnumNTable(
NTable table,
XrmNameList names,
XrmClassList classes,
int level,
EClosure closure)
{
register NTable entry;
register XrmQuark q;
register unsigned int leaf;
NTable entry;
XrmQuark q;
unsigned int leaf;
Bool (*get)();
Bool bilevel;
@ -1907,17 +1803,17 @@ static Bool EnumNTable(table, names, classes, level, closure)
/* call the proc for every value in the database, arbitrary order.
* stop if the proc returns True.
*/
Bool falrmEnumerateDatabase(db, names, classes, mode, proc, closure)
XrmDatabase db;
XrmNameList names;
XrmClassList classes;
int mode;
DBEnumProc proc;
XPointer closure;
Bool falrmEnumerateDatabase(
XrmDatabase db,
XrmNameList names,
XrmClassList classes,
int mode,
DBEnumProc proc,
XPointer closure)
{
XrmBinding bindings[MAXDBDEPTH+2];
XrmQuark quarks[MAXDBDEPTH+2];
register NTable table;
NTable table;
EClosureRec eclosure;
Bool retval = False;
@ -1943,10 +1839,10 @@ Bool falrmEnumerateDatabase(db, names, classes, mode, proc, closure)
return retval;
}
static void PrintBindingQuarkList(bindings, quarks, stream)
XrmBindingList bindings;
XrmQuarkList quarks;
FILE *stream;
static void PrintBindingQuarkList(
XrmBindingList bindings,
XrmQuarkList quarks,
FILE *stream)
{
Bool firstNameSeen;
@ -1963,18 +1859,18 @@ static void PrintBindingQuarkList(bindings, quarks, stream)
/* output out the entry in correct file syntax */
/*ARGSUSED*/
static Bool DumpEntry(db, bindings, quarks, type, value, data)
XrmDatabase *db;
XrmBindingList bindings;
XrmQuarkList quarks;
XrmRepresentation *type;
XrmValuePtr value;
XPointer data;
static Bool DumpEntry(
XrmDatabase *db,
XrmBindingList bindings,
XrmQuarkList quarks,
XrmRepresentation *type,
XrmValuePtr value,
XPointer data)
{
FILE *stream = (FILE *)data;
register unsigned int i;
register char *s;
register char c;
unsigned int i;
char *s;
char c;
if (*type != XrmQString)
(void) putc('!', stream);
@ -2011,9 +1907,7 @@ static Bool DumpEntry(db, bindings, quarks, type, value, data)
#ifdef DEBUG
void falPrintTable(table, file)
NTable table;
FILE *file;
void falPrintTable(NTable table, FILE *file)
{
XrmBinding bindings[MAXDBDEPTH+1];
XrmQuark quarks[MAXDBDEPTH+1];
@ -2034,15 +1928,7 @@ void falPrintTable(table, file)
#endif /* DEBUG */
#if NeedFunctionPrototypes
void falrmPutFileDatabase(
XrmDatabase db,
_Xconst char *fileName)
#else
void falrmPutFileDatabase(db, fileName)
XrmDatabase db;
char *fileName;
#endif
void falrmPutFileDatabase(XrmDatabase db, const char *fileName)
{
FILE *file;
XrmQuark empty = NULLQUARK;
@ -2101,11 +1987,11 @@ void falrmPutFileDatabase(db, fileName)
/* add tight/loose entry to the search list, return True if list is full */
/*ARGSUSED*/
static Bool AppendLEntry(table, names, classes, closure)
LTable table;
XrmNameList names;
XrmClassList classes;
register SClosure closure;
static Bool AppendLEntry(
LTable table,
XrmNameList names,
XrmClassList classes,
SClosure closure)
{
/* check for duplicate */
if (closure->idx >= 0 && closure->list[closure->idx] == table)
@ -2120,11 +2006,11 @@ static Bool AppendLEntry(table, names, classes, closure)
/* add loose entry to the search list, return True if list is full */
/*ARGSUSED*/
static Bool AppendLooseLEntry(table, names, classes, closure)
LTable table;
XrmNameList names;
XrmClassList classes;
register SClosure closure;
static Bool AppendLooseLEntry(
LTable table,
XrmNameList names,
XrmClassList classes,
SClosure closure)
{
/* check for duplicate */
if (closure->idx >= 0 && closure->list[closure->idx] == table)
@ -2140,15 +2026,15 @@ static Bool AppendLooseLEntry(table, names, classes, closure)
}
/* search for a leaf table */
static Bool SearchNEntry(table, names, classes, closure)
NTable table;
XrmNameList names;
XrmClassList classes;
SClosure closure;
static Bool SearchNEntry(
NTable table,
XrmNameList names,
XrmClassList classes,
SClosure closure)
{
register NTable entry;
register XrmQuark q;
register unsigned int leaf;
NTable entry;
XrmQuark q;
unsigned int leaf;
Bool (*get)();
if (names[1]) {
@ -2204,14 +2090,14 @@ static Bool SearchNEntry(table, names, classes, closure)
return False;
}
Bool falrmQGetSearchList(db, names, classes, searchList, listLength)
XrmDatabase db;
XrmNameList names;
XrmClassList classes;
XrmSearchList searchList; /* RETURN */
int listLength;
Bool falrmQGetSearchList(
XrmDatabase db,
XrmNameList names,
XrmClassList classes,
XrmSearchList searchList, /* RETURN */
int listLength)
{
register NTable table;
NTable table;
SClosureRec closure;
if (listLength <= 0)
@ -2249,16 +2135,16 @@ Bool falrmQGetSearchList(db, names, classes, searchList, listLength)
return True;
}
Bool falrmQGetSearchResource(searchList, name, class, pType, pValue)
XrmSearchList searchList;
register XrmName name;
register XrmClass class;
XrmRepresentation *pType; /* RETURN */
XrmValue *pValue; /* RETURN */
Bool falrmQGetSearchResource(
XrmSearchList searchList,
XrmName name,
XrmClass class,
XrmRepresentation *pType, /* RETURN */
XrmValue *pValue) /* RETURN */
{
register LTable *list;
register LTable table;
register VEntry entry;
LTable *list;
LTable table;
VEntry entry;
int flags;
/* find tight or loose entry */
@ -2338,14 +2224,14 @@ Bool falrmQGetSearchResource(searchList, name, class, pType, pValue)
}
/* look for a tight/loose value */
static Bool GetVEntry(table, names, classes, closure)
LTable table;
XrmNameList names;
XrmClassList classes;
VClosure closure;
static Bool GetVEntry(
LTable table,
XrmNameList names,
XrmClassList classes,
VClosure closure)
{
register VEntry entry;
register XrmQuark q;
VEntry entry;
XrmQuark q;
/* try name first */
q = *names;
@ -2373,14 +2259,14 @@ static Bool GetVEntry(table, names, classes, closure)
}
/* look for a loose value */
static Bool GetLooseVEntry(table, names, classes, closure)
LTable table;
XrmNameList names;
XrmClassList classes;
VClosure closure;
static Bool GetLooseVEntry(
LTable table,
XrmNameList names,
XrmClassList classes,
VClosure closure)
{
register VEntry entry;
register XrmQuark q;
VEntry entry;
XrmQuark q;
#define VLOOSE(ename) \
q = ename; \
@ -2415,15 +2301,15 @@ static Bool GetLooseVEntry(table, names, classes, closure)
}
/* recursive search for a value */
static Bool GetNEntry(table, names, classes, closure)
NTable table;
XrmNameList names;
XrmClassList classes;
VClosure closure;
static Bool GetNEntry(
NTable table,
XrmNameList names,
XrmClassList classes,
VClosure closure)
{
register NTable entry;
register XrmQuark q;
register unsigned int leaf;
NTable entry;
XrmQuark q;
unsigned int leaf;
Bool (*get)();
NTable otable;
@ -2483,14 +2369,14 @@ static Bool GetNEntry(table, names, classes, closure)
return False;
}
Bool falrmQGetResource(db, names, classes, pType, pValue)
XrmDatabase db;
XrmNameList names;
XrmClassList classes;
XrmRepresentation *pType; /* RETURN */
XrmValuePtr pValue; /* RETURN */
Bool falrmQGetResource(
XrmDatabase db,
XrmNameList names,
XrmClassList classes,
XrmRepresentation *pType, /* RETURN */
XrmValuePtr pValue) /* RETURN */
{
register NTable table;
NTable table;
VClosureRec closure;
if (db && *names) {
@ -2525,21 +2411,12 @@ Bool falrmQGetResource(db, names, classes, pType, pValue)
return False;
}
#if NeedFunctionPrototypes
Bool falrmGetResource(db, name_str, class_str, pType_str, pValue)
XrmDatabase db;
_Xconst char *name_str;
_Xconst char *class_str;
XrmString *pType_str; /* RETURN */
XrmValuePtr pValue; /* RETURN */
#else
Bool falrmGetResource(db, name_str, class_str, pType_str, pValue)
XrmDatabase db;
XrmString name_str;
XrmString class_str;
XrmString *pType_str; /* RETURN */
XrmValuePtr pValue; /* RETURN */
#endif
Bool falrmGetResource(
XrmDatabase db,
const char *name_str,
const char *class_str,
XrmString *pType_str, /* RETURN */
XrmValuePtr pValue) /* RETURN */
{
XrmName names[MAXDBDEPTH+1];
XrmClass classes[MAXDBDEPTH+1];
@ -2554,12 +2431,11 @@ Bool falrmGetResource(db, name_str, class_str, pType_str, pValue)
}
/* destroy all values, plus table itself */
static void DestroyLTable(table)
LTable table;
static void DestroyLTable(LTable table)
{
register int i;
register VEntry *buckets;
register VEntry entry, next;
int i;
VEntry *buckets;
VEntry entry, next;
buckets = table->buckets;
for (i = table->table.mask; i >= 0; i--, buckets++) {
@ -2573,12 +2449,11 @@ static void DestroyLTable(table)
}
/* destroy all contained tables, plus table itself */
static void DestroyNTable(table)
NTable table;
static void DestroyNTable(NTable table)
{
register int i;
register NTable *buckets;
register NTable entry, next;
int i;
NTable *buckets;
NTable entry, next;
buckets = NodeBuckets(table);
for (i = table->mask; i >= 0; i--, buckets++) {
@ -2593,8 +2468,7 @@ static void DestroyNTable(table)
Xfree((char *)table);
}
char *falrmLocaleOfDatabase(db)
XrmDatabase db;
char *falrmLocaleOfDatabase(XrmDatabase db)
{
char* retval;
_XLockMutex(&db->linfo);
@ -2603,10 +2477,9 @@ char *falrmLocaleOfDatabase(db)
return retval;
}
void falrmDestroyDatabase(db)
XrmDatabase db;
void falrmDestroyDatabase(XrmDatabase db)
{
register NTable table, next;
NTable table, next;
if (db) {
_XLockMutex(&db->linfo);

View file

@ -66,9 +66,7 @@ typedef struct _FalGlyphRegion {
/*
* "code" no jyoui "i" byte me wo "unsigned char" toshite kaesu.
*/
static unsigned char getbyte(code,i)
unsigned long code;
int i;
static unsigned char getbyte(unsigned long code, int i)
{
unsigned long byteL;
unsigned char byte;
@ -83,11 +81,11 @@ int i;
charset_str : JISX0208.1983-0
*/
fal_get_codeset(locale,charset_str,codeset,num_codeset)
char *locale;
char *charset_str;
int **codeset;
int *num_codeset;
fal_get_codeset(
char *locale,
char *charset_str,
int **codeset,
int *num_codeset)
{
XLCdRec lcdrec;
XLCd lcd;
@ -164,9 +162,7 @@ int *num_codeset;
return 0;
}
static Bool gi_to_vgi(gi,vgi,scope)
unsigned long gi,*vgi;
FontScope scope;
static Bool gi_to_vgi(unsigned long gi, unsigned long *vgi, FontScope scope)
{
if(scope->shift_direction == (unsigned long)'+'){
gi -= scope->shift;
@ -180,9 +176,7 @@ FontScope scope;
return(False);
}
static void shift_area(udc,scope)
FalGlyphRegion *udc;
FontScope scope;
static void shift_area(FalGlyphRegion *udc, FontScope scope)
{
if(scope->shift_direction == (unsigned long)'+'){
udc->start += scope->shift;
@ -199,12 +193,12 @@ FontScope scope;
locale : ja_JP
charset_str : JISX0208.1983-0
*/
FalGetUDCGIArea(locale,codeset,charset_str,gr,num_gr)
char *locale;
int codeset;
char *charset_str;
FalGlyphRegion **gr;
int *num_gr;
FalGetUDCGIArea(
char *locale,
int codeset,
char *charset_str,
FalGlyphRegion **gr,
int *num_gr)
{
XLCdRec lcdrec;
XLCd lcd;
@ -302,14 +296,14 @@ int *num_gr;
*
*/
int fal_gi_to_vgi(lcd,locale,charset_str,codeset,gi,vgi,charsetname)
XLCd lcd;
char *locale;
char *charset_str;
int codeset;
unsigned long gi;
unsigned long *vgi;
char *charsetname;
int fal_gi_to_vgi(
XLCd lcd,
char *locale,
char *charset_str,
int codeset,
unsigned long gi,
unsigned long *vgi,
char *charsetname)
{
FalGlyphRegion *udc;
int num = 0,count,num_ret=0;
@ -346,9 +340,7 @@ char *charsetname;
return(True);
}
Bool falnon_standard(lcd,charset)
XLCd lcd;
XlcCharSet charset;
Bool falnon_standard(XLCd lcd, XlcCharSet charset)
{
char buf[256];
int count,i;
@ -371,10 +363,7 @@ XlcCharSet charset;
}
void
falmake_none_standard(from,charset,src)
char *from;
XlcCharSet charset;
char *src;
falmake_none_standard(char *from, XlcCharSet charset, char *src)
{
int name_len,seq_len,i;
name_len = 2 + strlen(charset->encoding_name) + 1;
@ -387,12 +376,12 @@ char *src;
strcpy(&from[seq_len + name_len],src);
}
int
fal_glyph_to_code(locale,charset_str,codeset,glyph_index,codepoint)
char *locale;
char *charset_str;
int codeset;
unsigned long glyph_index;
unsigned long *codepoint;
fal_glyph_to_code(
char *locale,
char *charset_str,
int codeset,
unsigned long glyph_index,
unsigned long *codepoint)
{
XLCd lcd;
unsigned char *from; int from_left;
@ -466,12 +455,12 @@ typedef struct _FalCodeRegion {
} FalCodeRegion ;
int
FalGetUDCCPArea(locale,codeset,charset_str,cr,num_cr)
char *locale;
int codeset;
char *charset_str;
FalCodeRegion **cr;
int *num_cr;
FalGetUDCCPArea(
char *locale,
int codeset,
char *charset_str,
FalCodeRegion **cr,
int *num_cr)
{
int i,num_gr,ret;
FalGlyphRegion *gr;
@ -547,9 +536,7 @@ typedef struct _FalGIInf {
*
*
*/
static Bool vgi_to_gi(gi,vgi,scope)
unsigned long *gi,vgi;
FontScope scope;
static Bool vgi_to_gi(unsigned long *gi, unsigned long vgi, FontScope scope)
{
if(vgi >= scope->start && vgi <= scope->end){
if(scope->shift_direction == (unsigned long)'+'){
@ -566,13 +553,13 @@ FontScope scope;
*
*/
static Bool
fal_vgi_to_gi(lcd,locale,vglyph,glyph,charset,charsetname)
XLCd lcd;
char *locale;
unsigned long vglyph;
unsigned long *glyph;
XlcCharSet charset;
char *charsetname;
fal_vgi_to_gi(
XLCd lcd,
char *locale,
unsigned long vglyph,
unsigned long *glyph,
XlcCharSet charset,
char *charsetname)
{
int num = 0,count,num_ret=0;
int i,j,k;
@ -620,11 +607,11 @@ char *charsetname;
return(True);
}
int
fal_code_to_glyph(locale,codepoint,gi,num_gi)
char *locale;
unsigned long codepoint;
FalGIInf **gi;
int *num_gi;
fal_code_to_glyph(
char *locale,
unsigned long codepoint,
FalGIInf **gi,
int *num_gi)
{
XLCd lcd;
unsigned char *from; int from_left;

View file

@ -349,406 +349,307 @@ _XFUNCPROTOBEGIN
/* The following declarations are alphabetized. */
extern XClassHint *XAllocClassHint (
#if NeedFunctionPrototypes
void
#endif
);
extern XIconSize *XAllocIconSize (
#if NeedFunctionPrototypes
void
#endif
);
extern XSizeHints *XAllocSizeHints (
#if NeedFunctionPrototypes
void
#endif
);
extern XStandardColormap *XAllocStandardColormap (
#if NeedFunctionPrototypes
void
#endif
);
extern XWMHints *XAllocWMHints (
#if NeedFunctionPrototypes
void
#endif
);
extern XClipBox(
#if NeedFunctionPrototypes
Region /* r */,
XRectangle* /* rect_return */
#endif
);
extern Region XCreateRegion(
#if NeedFunctionPrototypes
void
#endif
);
extern char *falDefaultString(
#if NeedFunctionPrototypes
void
#endif
);
extern int XDeleteContext(
#if NeedFunctionPrototypes
Display* /* display */,
XID /* rid */,
XContext /* context */
#endif
);
extern XDestroyRegion(
#if NeedFunctionPrototypes
Region /* r */
#endif
);
extern XEmptyRegion(
#if NeedFunctionPrototypes
Region /* r */
#endif
);
extern XEqualRegion(
#if NeedFunctionPrototypes
Region /* r1 */,
Region /* r2 */
#endif
);
extern int XFindContext(
#if NeedFunctionPrototypes
Display* /* display */,
XID /* rid */,
XContext /* context */,
XPointer* /* data_return */
#endif
);
extern Status XGetClassHint(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XClassHint* /* class_hints_return */
#endif
);
extern Status XGetIconSizes(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XIconSize** /* size_list_return */,
int* /* count_return */
#endif
);
extern Status XGetNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */
#endif
);
extern Status XGetRGBColormaps(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap** /* stdcmap_return */,
int* /* count_return */,
Atom /* property */
#endif
);
extern Status XGetSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */,
Atom /* property */
#endif
);
extern Status XGetStandardColormap(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap* /* colormap_return */,
Atom /* property */
#endif
);
extern Status XGetTextProperty(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* window */,
XTextProperty* /* text_prop_return */,
Atom /* property */
#endif
);
extern XVisualInfo *XGetVisualInfo(
#if NeedFunctionPrototypes
Display* /* display */,
long /* vinfo_mask */,
XVisualInfo* /* vinfo_template */,
int* /* nitems_return */
#endif
);
extern Status XGetWMClientMachine(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop_return */
#endif
);
extern XWMHints *XGetWMHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */
#endif
);
extern Status XGetWMIconName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop_return */
#endif
);
extern Status XGetWMName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop_return */
#endif
);
extern Status XGetWMNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */,
long* /* supplied_return */
#endif
);
extern Status XGetWMSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */,
long* /* supplied_return */,
Atom /* property */
#endif
);
extern Status XGetZoomHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* zhints_return */
#endif
);
extern XIntersectRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
extern void XConvertCase(
#if NeedFunctionPrototypes
KeySym /* sym */,
KeySym* /* lower */,
KeySym* /* upper */
#endif
);
extern int XLookupString(
#if NeedFunctionPrototypes
XKeyEvent* /* event_struct */,
char* /* buffer_return */,
int /* bytes_buffer */,
KeySym* /* keysym_return */,
XComposeStatus* /* status_in_out */
#endif
);
extern Status XMatchVisualInfo(
#if NeedFunctionPrototypes
Display* /* display */,
int /* screen */,
int /* depth */,
int /* class */,
XVisualInfo* /* vinfo_return */
#endif
);
extern XOffsetRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* dx */,
int /* dy */
#endif
);
extern Bool XPointInRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* x */,
int /* y */
#endif
);
extern Region XPolygonRegion(
#if NeedFunctionPrototypes
XPoint* /* points */,
int /* n */,
int /* fill_rule */
#endif
);
extern int XRectInRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* x */,
int /* y */,
unsigned int /* width */,
unsigned int /* height */
#endif
);
extern int XSaveContext(
#if NeedFunctionPrototypes
Display* /* display */,
XID /* rid */,
XContext /* context */,
_Xconst char* /* data */
#endif
const char* /* data */
);
extern XSetClassHint(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XClassHint* /* class_hints */
#endif
);
extern XSetIconSizes(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XIconSize* /* size_list */,
int /* count */
#endif
);
extern XSetNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */
#endif
);
extern void XSetRGBColormaps(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap* /* stdcmaps */,
int /* count */,
Atom /* property */
#endif
);
extern XSetSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */,
Atom /* property */
#endif
);
extern XSetStandardProperties(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
_Xconst char* /* window_name */,
_Xconst char* /* icon_name */,
const char* /* window_name */,
const char* /* icon_name */,
Pixmap /* icon_pixmap */,
char** /* argv */,
int /* argc */,
XSizeHints* /* hints */
#endif
);
extern void XSetTextProperty(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop */,
Atom /* property */
#endif
);
extern void XSetWMClientMachine(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop */
#endif
);
extern XSetWMHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XWMHints* /* wm_hints */
#endif
);
extern void XSetWMIconName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop */
#endif
);
extern void XSetWMName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop */
#endif
);
extern void XSetWMNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */
#endif
);
extern void XSetWMProperties(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* window_name */,
@ -758,155 +659,121 @@ extern void XSetWMProperties(
XSizeHints* /* normal_hints */,
XWMHints* /* wm_hints */,
XClassHint* /* class_hints */
#endif
);
extern void XmbSetWMProperties(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
_Xconst char* /* window_name */,
_Xconst char* /* icon_name */,
const char* /* window_name */,
const char* /* icon_name */,
char** /* argv */,
int /* argc */,
XSizeHints* /* normal_hints */,
XWMHints* /* wm_hints */,
XClassHint* /* class_hints */
#endif
);
extern void XSetWMSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */,
Atom /* property */
#endif
);
extern XSetRegion(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
Region /* r */
#endif
);
extern void XSetStandardColormap(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap* /* colormap */,
Atom /* property */
#endif
);
extern XSetZoomHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* zhints */
#endif
);
extern XShrinkRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* dx */,
int /* dy */
#endif
);
extern Status XStringListToTextProperty(
#if NeedFunctionPrototypes
char** /* list */,
int /* count */,
XTextProperty* /* text_prop_return */
#endif
);
extern XSubtractRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
extern int falmbTextListToTextProperty(
#if NeedFunctionPrototypes
Display* /* display */,
char** /* list */,
int /* count */,
XICCEncodingStyle /* style */,
XTextProperty* /* text_prop_return */
#endif
);
extern int falwcTextListToTextProperty(
#if NeedFunctionPrototypes
Display* /* display */,
wchar_t** /* list */,
int /* count */,
XICCEncodingStyle /* style */,
XTextProperty* /* text_prop_return */
#endif
);
extern void falwcFreeStringList(
#if NeedFunctionPrototypes
wchar_t** /* list */
#endif
);
extern Status XTextPropertyToStringList(
#if NeedFunctionPrototypes
XTextProperty* /* text_prop */,
char*** /* list_return */,
int* /* count_return */
#endif
);
extern int falmbTextPropertyToTextList(
#if NeedFunctionPrototypes
Display* /* display */,
XTextProperty* /* text_prop */,
char*** /* list_return */,
int* /* count_return */
#endif
);
extern int falwcTextPropertyToTextList(
#if NeedFunctionPrototypes
Display* /* display */,
XTextProperty* /* text_prop */,
wchar_t*** /* list_return */,
int* /* count_return */
#endif
);
extern XUnionRectWithRegion(
#if NeedFunctionPrototypes
XRectangle* /* rectangle */,
Region /* src_region */,
Region /* dest_region_return */
#endif
);
extern XUnionRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
extern int XWMGeometry(
#if NeedFunctionPrototypes
Display* /* display */,
int /* screen_number */,
_Xconst char* /* user_geometry */,
_Xconst char* /* default_geometry */,
const char* /* user_geometry */,
const char* /* default_geometry */,
unsigned int /* border_width */,
XSizeHints* /* hints */,
int* /* x_return */,
@ -914,15 +781,12 @@ extern int XWMGeometry(
int* /* width_return */,
int* /* height_return */,
int* /* gravity_return */
#endif
);
extern XXorRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
_XFUNCPROTOEND

View file

@ -94,11 +94,9 @@ static unsigned char _reverse_byte[0x100] = {
* Invert bit order within each BYTE of an array.
*/
void
BitOrderInvert(buf, nbytes)
register unsigned char *buf;
register int nbytes;
BitOrderInvert(unsigned char *buf, int nbytes)
{
register unsigned char *rev = _reverse_byte;
unsigned char *rev = _reverse_byte;
for (; --nbytes >= 0; buf++)
*buf = rev[*buf];
@ -108,11 +106,9 @@ BitOrderInvert(buf, nbytes)
* Invert byte order within each 16-bits of an array.
*/
void
TwoByteSwap(buf, nbytes)
register unsigned char *buf;
register int nbytes;
TwoByteSwap(unsigned char *buf, int nbytes)
{
register unsigned char c;
unsigned char c;
for (; nbytes > 0; nbytes -= 2, buf += 2)
{
@ -126,11 +122,9 @@ TwoByteSwap(buf, nbytes)
* Invert byte order within each 32-bits of an array.
*/
void
FourByteSwap(buf, nbytes)
register unsigned char *buf;
register int nbytes;
FourByteSwap(unsigned char *buf, int nbytes)
{
register unsigned char c;
unsigned char c;
for (; nbytes > 0; nbytes -= 4, buf += 4)
{
@ -148,10 +142,13 @@ FourByteSwap(buf, nbytes)
*/
int
RepadBitmap (pSrc, pDst, srcPad, dstPad, width, height)
char *pSrc, *pDst;
unsigned srcPad, dstPad;
int width, height;
RepadBitmap (
char *pSrc,
char *pDst,
unsigned srcPad,
unsigned dstPad,
int width,
int height)
{
int srcWidthBytes,dstWidthBytes;
int row,col;

View file

@ -82,13 +82,8 @@ typedef char *va_list;
#else /* !__HIGHC__ */
#if NeedVarargsPrototypes
# include <stdarg.h>
# define Va_start(a,b) va_start(a,b)
#else
# include <varargs.h>
# define Va_start(a,b) va_start(a)
#endif
#endif /* __HIGHC__ */

View file

@ -42,12 +42,12 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <X11/Intrinsic.h>
#include "FaLib.h"
#include "falfont.h"
#include "udcutil.h"
#define MKFONTLIST (1<<1)
#define SRCHFNAME (1<<2)
#define FONTOFID (1<<3)
@ -154,7 +154,7 @@ extern int fal_glyph_to_code() ;
static int
fal_init()
fal_init(void)
{
memset( fal_err_file, '\0', sizeof(fal_err_file) ) ;
memset( fal_err_file_buf, '\0', sizeof(fal_err_file_buf) ) ;
@ -175,9 +175,7 @@ fal_init()
}
void
set_errfile_str( obuf, ibuf )
char *obuf ;
char *ibuf ;
set_errfile_str(char *obuf, char *ibuf)
{
char *sp ;
@ -194,10 +192,7 @@ char *ibuf ;
* open a fontfile by "RDONLY"
*/
FalFontID
FalOpenFont( file, protect_key_data, codeset )
char *file;
int protect_key_data;
int codeset;
FalOpenFont(char *file, int protect_key_data, int codeset)
{
FalFontID __FalOpenFont();
@ -213,17 +208,15 @@ int codeset;
* 0: OFF -- for "FalOpenFont()"
*/
FalFontID
__FalOpenFont( file, protect_key_data, codeset, lockflag )
char *file;
int protect_key_data;
int codeset;
int lockflag;
__FalOpenFont(char *file, int protect_key_data, int codeset, int lockflag)
{
int fd ;
char *buf;
char *openfontfile;
struct stat st;
Oak_FontInf *finf;
int fd ;
char *buf;
char *openfontfile;
struct stat st;
Oak_FontInf *finf;
while(1){
if ( !(openfontfile = (char *)malloc( strlen( file ) + 1 )) ) {
fal_seterrcode( _FAL_MALOC_ER, 0,
@ -358,7 +351,7 @@ int lockflag;
fal_utyderror = 0;
fal_utyerrno = FAL_ERR_FONT ;
fal_utyerrno |= (FAL_FUNCNUM_OPNFNT<<8) ;
goto FalError01 ;
break;
}
finf->isFef = FALSE;
finf->isPcf = TRUE;
@ -376,11 +369,11 @@ int lockflag;
= (unsigned char *)((char *)finf->pCinf
+ (sizeof(CharInfoRec) * GETNUMCHARS(finf->pFinf)));
finf->width
= finf->pFinf->maxbounds.metrics.rightSideBearing
- finf->pFinf->maxbounds.metrics.leftSideBearing;
= finf->pFinf->maxbounds.rightSideBearing
- finf->pFinf->maxbounds.leftSideBearing;
finf->height
= finf->pFinf->maxbounds.metrics.ascent
+ finf->pFinf->maxbounds.metrics.descent;
= finf->pFinf->maxbounds.ascent
+ finf->pFinf->maxbounds.descent;
} else if ( finf->isPcf ) {
finf->pCinf = NULL;
finf->pGlyphs = NULL;
@ -390,7 +383,7 @@ int lockflag;
fal_utyderror = 0;
fal_utyerrno = FAL_ERR_FONT ;
fal_utyerrno |= (FAL_FUNCNUM_OPNFNT<<8) ;
goto FalError01 ;
break;
}
finf->start = (finf->pFinf->firstRow << 8) | finf->pFinf->firstCol;
@ -411,7 +404,7 @@ int lockflag;
fal_utyderror = 0;
fal_utyerrno = FAL_ERR_MALLOC ;
fal_utyerrno |= (FAL_FUNCNUM_OPNFNT<<8) ;
goto FalError01 ;
break;
}
/* Save font information */
@ -420,7 +413,7 @@ int lockflag;
lockflag ) == FAL_ERROR )
{
fal_utyerrno |= (FAL_FUNCNUM_OPNFNT<<8) ;
goto FalError01 ;
break;
}
/* Lock the font file */
@ -430,44 +423,38 @@ int lockflag;
fal_utyerror = _FAL_OPEN_ER;
fal_utyderror = errno;
fal_utyerrno |= (FAL_FUNCNUM_OPNFNT<<8) ;
goto FalError01 ;
break;
}
}
free( openfontfile );
return( ( FalFontID ) finf );
FalError01:
}
#if defined( SVR4 )
if ( finf->ismmap == TRUE ) {
munmap( buf, finf->fsize );
} else {
free( buf );
close( fd );
}
#else
if ( finf->ismmap == TRUE ) {
munmap( buf, finf->fsize );
} else {
free( buf );
close( fd );
}
#else
free( buf );
close( fd );
#endif
set_errfile_str( fal_err_file, openfontfile ) ;
free( openfontfile );
free( finf->fname );
finf->fname = NULL;
free(finf);
set_errfile_str( fal_err_file, openfontfile ) ;
free( openfontfile );
free( finf->fname );
finf->fname = NULL;
free(finf);
return (FalFontID)FAL_ERROR;
return (FalFontID)FAL_ERROR;
}
#if NeedFunctionPrototypes
FalCloseFont(
FalFontID fid )
#else
FalCloseFont( fid )
FalFontID fid;
#endif
FalCloseFont(FalFontID fid)
{
int __FalCloseFont();
FontIDInfo fontid_inf ;
@ -489,9 +476,7 @@ FalFontID fid;
* 1: ON --- open a font by "RDWR" mode
* 0: OFF -- for "FalOpenFont()"
*/
__FalCloseFont( fid, lockflag )
FalFontID fid;
int lockflag;
__FalCloseFont(FalFontID fid, int lockflag)
{
Oak_FontInf *finf;
@ -545,15 +530,7 @@ int lockflag;
return _FAL_OK;
}
#if NeedFunctionPrototypes
FalQueryFont(
FalFontID fid,
FalFontinfo *fontinfo )
#else
FalQueryFont( fid, fontinfo )
FalFontID fid;
FalFontinfo *fontinfo;
#endif
FalQueryFont(FalFontID fid, FalFontinfo *fontinfo)
{
Oak_FontInf *finf;
unsigned int inner_start, inner_end ;
@ -594,21 +571,12 @@ FalFontinfo *fontinfo;
return _FAL_OK;
}
#if NeedFunctionPrototypes
char *
FalReadFont(
FalFontID fid,
int code,
int width,
int height )
#else
char *
FalReadFont( fid, code, width, height )
FalFontID fid;
int code ;
int width ;
int height ;
#endif
{
Oak_FontInf *finf;
int zoom_on ;
@ -713,10 +681,7 @@ int height ;
}
static
falGetGlyph( glyph, finf, code )
char *glyph;
Oak_FontInf *finf;
int code;
falGetGlyph(char *glyph, Oak_FontInf *finf, int code)
{
int in_dwidth, out_dwidth, ix, i, j;
char *glyph_p, *inp, p_mask, falGetMask();
@ -740,17 +705,6 @@ int code;
return 0;
}
/* Get a character index */
ix = falGetCharIndex( finf, inner_code );
CharInfP = finf->pCinf;
if ( !CharInfP[ix].exists ) {
fal_utyexists = 1;
return 0;
} else {
fal_utyexists = 0;
}
in_dwidth
= (finf->width + SNF_BOUND - 1)
/ SNF_BOUND * (SNF_BOUND / 8);
@ -758,7 +712,7 @@ int code;
p_mask = falGetMask( finf->width );
glyph_p = (char *)finf->pGlyphs + CharInfP[ix].byteOffset;
glyph_p = (char *)finf->pGlyphs;
for ( i = 0; i < finf->height; i++ ) {
inp = glyph_p + ( in_dwidth * i );
for ( j = 0; j < out_dwidth-1; j++ ) {
@ -770,9 +724,7 @@ int code;
}
static
falGetCharIndex( finf, code )
Oak_FontInf *finf;
int code; /* an inside code of a file */
falGetCharIndex(Oak_FontInf *finf, int code) /* an inside code of a file */
{
int nColperRow, nRow, nCol;
@ -784,24 +736,13 @@ int code; /* an inside code of a file */
}
static
falZoom( dmem, smem, sw, sh, dw, dh, dbuf )
char *dmem;
char *smem;
int sw;
int sh;
int dw;
int dh;
char *dbuf;
falZoom(char *dmem, char *smem, int sw, int sh, int dw, int dh, char *dbuf)
{
int swidth;
int dwidth;
int i, lcnt;
int swidth = (sw + 7) / 8;
int dwidth = (dw + 7) / 8;
int i, lcnt = 0;
char *sp, *dp;
swidth = (sw + 7) / 8;
dwidth = (dw + 7) / 8;
lcnt = 0;
sp = smem;
dp = dmem;
for ( i=0; i < sh; i++ ) {
@ -824,11 +765,7 @@ char *dbuf;
}
static
exline( sp, dbuf, sw, dw )
char *sp;
char *dbuf;
int sw;
int dw;
exline(char *sp, char *dbuf, int sw, int dw)
{
int i, bit, sval, dval, dcnt, bcnt;
@ -862,8 +799,7 @@ static unsigned char _Fal_Mask_Tab[8] = {
};
static char
falGetMask( width )
int width;
falGetMask(int width)
{
int ix = width % 8;
return _Fal_Mask_Tab[ix];
@ -896,19 +832,11 @@ FAL_DB_OPTION ;
/* make a font information list and carry to user */
/*********************************************************/
#if NeedFunctionPrototypes
int
FalGetFontList(
FalFontData *key_data,
int mask,
FalFontDataList **list_ret )
#else
int
FalGetFontList( key_data, mask, list_ret )
FalFontData *key_data; /* a structure of a searching information */
int mask; /* a mask */
FalFontDataList **list_ret; /* maked a address of a structure */
#endif
FalFontData *key_data, /* a structure of a searching information */
int mask, /* a mask */
FalFontDataList **list_ret ) /* maked a address of a structure */
{
FalFontDataList *fls; /* a pointer of a structure of "FalFontDataList()" */
@ -987,9 +915,9 @@ FalFontDataList **list_ret; /* maked a address of a structure */
/***********************************************************************/
static int
chk_key_str( key, mask )
FalFontData *key; /* a structure of saerching information */
int mask; /* a mask */
chk_key_str(
FalFontData *key, /* a structure of saerching information */
int mask) /* a mask */
{
int flg = 0;
@ -1028,10 +956,10 @@ int mask; /* a mask */
static int
fal_make_fontlist( fls, key, mask )
FalFontDataList *fls; /* a pointer of a structure of a font information list */
FalFontData *key; /* a structure of searching information */
int mask; /* a mask for a saerch */
fal_make_fontlist(
FalFontDataList *fls, /* a pointer of a structure of a font information list */
FalFontData *key, /* a structure of searching information */
int mask) /* a mask for a saerch */
{
return falReadFontInfoLists(MKFONTLIST,
key, mask, fls,
@ -1044,15 +972,8 @@ int mask; /* a mask for a saerch */
/* free a structure of "FalFontDataList()" */
/**************************************************/
#if NeedFunctionPrototypes
int
FalFreeFontList(
FalFontDataList *list )
#else
int
FalFreeFontList( list )
FalFontDataList *list;
#endif
FalFreeFontList(FalFontDataList *list)
{
int i;
@ -1089,10 +1010,7 @@ FalFontDataList *list;
/***********************************************************************/
static int
fal_split_data( buf, elm_num, elm)
char *buf;
int elm_num;
char *elm[];
fal_split_data(char *buf, int elm_num, char *elm[])
{
int cnt;
int strtop_flg;
@ -1131,8 +1049,7 @@ char *elm[];
/***********************************************************************/
static int
fal_clear_data(tmp)
FalFontData *tmp;
fal_clear_data(FalFontData *tmp)
{
/* search a character */
free(tmp->xlfdname);
@ -1144,9 +1061,7 @@ FalFontData *tmp;
}
static int
fal_check_already_exist( data, lst )
FalFontData *data;
FalFontDataList *lst;
fal_check_already_exist(FalFontData *data, FalFontDataList *lst)
{
int i;
int mask ;
@ -1168,8 +1083,7 @@ FalFontDataList *lst;
static int
fal_sort_fontlist( lst )
FalFontDataList *lst;
fal_sort_fontlist(FalFontDataList *lst)
{
int i,j;
FalFontDataList srt;
@ -1223,9 +1137,7 @@ FalFontDataList *lst;
/***************************************/
static int
fal_atoi(str, val)
char *str;
int *val;
fal_atoi(char *str, int *val)
{
char *ptr;
char *str_end;
@ -1251,9 +1163,7 @@ int *val;
/*******************************/
static int
fal_set_cs(str, cs)
char *str;
int *cs;
fal_set_cs(char *str, int *cs)
{
if (!strcmp(str, "CS0")) {
*cs = FAL_FONT_CS0;
@ -1279,9 +1189,7 @@ int *cs;
static int
fal_set_prm(str, prm)
char *str;
int *prm;
fal_set_prm(char *str, int *prm)
{
int tmp = 0;
for ( ; *str != '\0' ; str++) {
@ -1300,9 +1208,7 @@ int *prm;
return 0 ;
}
static int fal_read_db( str, db )
char *str;
FalFontDB *db;
static int fal_read_db(char *str, FalFontDB *db)
{
int i;
@ -1320,8 +1226,7 @@ FalFontDB *db;
/***************************************/
int
FalGetFontPath( dlist_ret )
FalFontPath **dlist_ret;
FalGetFontPath(FalFontPath **dlist_ret)
{
/* clear an error data */
@ -1363,14 +1268,13 @@ FalFontPath **dlist_ret;
}
static int
set_default_path()
set_default_path(void)
{
return set_font_pathlist(&orgn, 0) ;
}
static int
cpy_default_path( p )
FalFontPath *p;
cpy_default_path(FalFontPath *p)
{
int i;
FalFontPath tmp;
@ -1408,8 +1312,7 @@ FalFontPath *p;
}
static int
comp_default_path(p)
FalFontPath *p;
comp_default_path(FalFontPath *p)
{
int i;
@ -1430,8 +1333,7 @@ FalFontPath *p;
static int
fal_clear_font_path( ls )
FalFontPath *ls;
fal_clear_font_path(FalFontPath *ls)
{
int i;
@ -1468,69 +1370,67 @@ FalFontPath *ls;
#define FAL_FONT_ELM_XLFDNAME 12
int
set_struct( tmp_data, elm )
FalFontData *tmp_data;
char *elm[];
set_struct(FalFontData *tmp_data, char *elm[])
{
char *dup_p;
/* data information */
char *dup_p;
/* data information */
while(1){
/* a width of a character size */
if ( fal_atoi(
elm[FAL_FONT_ELM_SIZE_W], &(tmp_data->size.w )
) == FAL_ERROR
) {
goto FalError02 ;
break;
}
/* a height of a character size */
if ( fal_atoi(
elm[FAL_FONT_ELM_SIZE_H], &(tmp_data->size.h )
) == FAL_ERROR
) {
goto FalError02 ;
break;
}
/* a width of a letter size */
if ( fal_atoi(
elm[FAL_FONT_ELM_LETTER_W], &(tmp_data->letter.w )
) == FAL_ERROR
) {
goto FalError02 ;
break;
}
/* a height of a letter size */
if ( fal_atoi(
elm[FAL_FONT_ELM_LETTER_H], &(tmp_data->letter.h )
) == FAL_ERROR
) {
goto FalError02 ;
break;
}
/* position x of a letter size */
if ( fal_atoi(
elm[FAL_FONT_ELM_LETTER_X], &(tmp_data->letter.x )
) == FAL_ERROR
) {
goto FalError02 ;
break;
}
/* position y of a letter size */
if ( fal_atoi(
elm[FAL_FONT_ELM_LETTER_Y], &(tmp_data->letter.y )
) == FAL_ERROR
) {
goto FalError02 ;
break;
}
/* codeset */
if ( fal_set_cs(
elm[FAL_FONT_ELM_CODE_SET], &(tmp_data->cd_set )
) == FAL_ERROR
) {
goto FalError02 ;
break;
}
/* a equipment of an output permission */
if ( fal_set_prm(
elm[FAL_FONT_ELM_PERMISSION], &(tmp_data->prm )
) == FAL_ERROR
) {
goto FalError02 ;
break;
}
/* character information */
@ -1572,16 +1472,14 @@ char *elm[];
SET_STRUCT_OPTION( dup_p, elm, tmp_data, fal_utyerror, fal_db_group ) ;
return 0;
FalError02:
set_errfile_str( fal_err_file, fal_err_file_buf ) ;
fal_utyerrno = FAL_ERR_FDATA_DSC ;
return FAL_ERROR;
}
set_errfile_str( fal_err_file, fal_err_file_buf ) ;
fal_utyerrno = FAL_ERR_FDATA_DSC ;
return FAL_ERROR;
}
/* get a full path name */
int searchFontFileName( data, fullPathName )
FalFontData data;
char *fullPathName;
int searchFontFileName(FalFontData data, char *fullPathName)
{
int rtn ;
rtn = falReadFontInfoLists(SRCHFNAME,
@ -1595,9 +1493,7 @@ char *fullPathName;
}
int fal_eq_data( data, tmp_data )
FalFontData data;
FalFontData tmp_data;
int fal_eq_data(FalFontData data, FalFontData tmp_data)
{
int flg = 0;
@ -1684,8 +1580,7 @@ FalFontData tmp_data;
static int
CR_to_NULL(buf)
char *buf;
CR_to_NULL(char *buf)
{
for( ; *buf != '\0'; buf++ ) {
if (*buf == '\n') {
@ -1696,8 +1591,7 @@ char *buf;
return 0 ;
}
char *fal_get_base_name( str )
char *str;
char *fal_get_base_name(char *str)
{
char *str_slash;
@ -1710,10 +1604,7 @@ char *str;
static int
fal_cmp_data( op1, key, mask )
FalFontData *op1;
FalFontData *key;
int mask ;
fal_cmp_data(FalFontData *op1, FalFontData *key, int mask)
{
if ( mask == 0 ) {
return(0);
@ -1816,9 +1707,7 @@ int mask ;
/* no sort ... 0 */
static int
new_target( target, choose )
FalFontData *target;
FalFontData *choose;
new_target(FalFontData *target, FalFontData *choose)
{
FalFontData diff;
DEF_STR_CHK ;
@ -1932,15 +1821,9 @@ FalFontData *choose;
return 0;
}
#if NeedFunctionPrototypes
int FalFontOfFontID(
FalFontID fid,
FalFontData *fontdata )
#else
int FalFontOfFontID( fid, fontdata )
FalFontID fid;
FalFontData *fontdata;
#endif
{
int rtn ;
rtn = falReadFontInfoLists(FONTOFID,
@ -1953,19 +1836,11 @@ FalFontData *fontdata;
return rtn ;
}
#if NeedFunctionPrototypes
FalFontID
FalOpenSysFont(
FalFontData *open_font_data,
int font_data_mask,
FalFontDataList **missing_font_list_return )
#else
FalFontID
FalOpenSysFont( open_font_data, font_data_mask, missing_font_list_return )
FalFontData *open_font_data;
int font_data_mask;
FalFontDataList **missing_font_list_return;
#endif
{
int retFL; /* return a data of FontList */
FalFontID retOF; /* return a data of OpenFont */
@ -2046,7 +1921,7 @@ FalFontDataList **missing_font_list_return;
* function to access fonts.list
********************************************************/
static
FILE *open_fonts_list()
FILE *open_fonts_list(void)
{
FILE *fp;
@ -2097,9 +1972,7 @@ FILE *open_fonts_list()
static int
set_font_pathlist(pathlist, nodef)
FalFontPath *pathlist ;
int nodef ;
set_font_pathlist(FalFontPath *pathlist, int nodef)
{
FILE *fp;
char buf[FAL_LINE_MAX];
@ -2222,8 +2095,7 @@ int nodef ;
static int
make_default_path(pathlist)
FalFontPath *pathlist ;
make_default_path(FalFontPath *pathlist)
{
struct stat statbuf ;
char pbuf[FAL_LINE_MAX], *dir, *p ;
@ -2302,18 +2174,18 @@ FalFontPath *pathlist ;
static int
falReadFontInfoLists(func, lstkey, mask, fls, fnkey, fullpath, fid, fdata)
int func ;
falReadFontInfoLists(
int func,
/* parameters for FalGetFontList */
FalFontData *lstkey;
int mask;
FalFontDataList *fls;
FalFontData *lstkey,
int mask,
FalFontDataList *fls,
/* parameters for searchFontFileName */
FalFontData fnkey;
char *fullpath;
FalFontData fnkey,
char *fullpath,
/* parameters for FalFontOfFontID */
FalFontID fid ;
FalFontData *fdata;
FalFontID fid,
FalFontData *fdata)
{
FILE *fp;
char pname[ FAL_LINE_MAX ] ;
@ -2675,7 +2547,7 @@ FalError:
/* clear code set informations */
static void
clear_charset_info()
clear_charset_info(void)
{
if( charset_str_buf ) free( charset_str_buf ) ;
charset_str_buf = NULL ;
@ -2686,13 +2558,13 @@ clear_charset_info()
static int
fal_get_def_fontdata(func, pname, buf, elm, tmp_data, key_fname)
int func ;
char *pname ; /* font path */
char *buf ; /* buffer for fgets() */
char **elm ;
FalFontData *tmp_data ;
char *key_fname ;
fal_get_def_fontdata(
int func,
char *pname, /* font path */
char *buf, /* buffer for fgets() */
char **elm,
FalFontData *tmp_data,
char *key_fname)
{
int rtn ;
char tmp_fname[FAL_LINE_MAX] ;
@ -2716,12 +2588,12 @@ char *key_fname ;
static int
falgetfontlist(tmp_data, key, mask, fls, fontnum)
FalFontData *tmp_data ;
FalFontData *key ;
int mask ;
FalFontDataList *fls ;
int fontnum ;
falgetfontlist(
FalFontData *tmp_data,
FalFontData *key,
int mask,
FalFontDataList *fls,
int fontnum)
{
FalFontData *p_bak ;
@ -2754,14 +2626,14 @@ int fontnum ;
static int
fal_get_undef_fontdata(func, full_path, xlfd, tmp_data, key_fname, codeset_num, codeset_list)
int func ;
char *full_path ;
char *xlfd ;
FalFontData *tmp_data ;
char *key_fname ;
int *codeset_num ;
int **codeset_list ;
fal_get_undef_fontdata(
int func,
char *full_path,
char *xlfd,
FalFontData *tmp_data,
char *key_fname,
int *codeset_num,
int **codeset_list)
{
int rtn, pix ;
char *char_set ;
@ -2836,17 +2708,10 @@ int **codeset_list ;
* get file name of fonts
*/
#if NeedFunctionPrototypes
int
FalFontIDToFileName(
FalFontID fid,
char **file_name )
#else
int
FalFontIDToFileName( fid, file_name )
FalFontID fid;
char **file_name;
#endif
{
char *fname ;
Oak_FontInf *finf ;
@ -2876,15 +2741,8 @@ char **file_name;
}
#if NeedFunctionPrototypes
int
FalFree(
void *list )
#else
int
FalFree( list )
void *list ;
#endif
FalFree(void *list)
{
if( list == NULL ) {
fal_utyerror = _FAL_PARM_ER ;
@ -2899,9 +2757,7 @@ void *list ;
int
FalFreeGI( ginf, num )
FalGIInf *ginf ;
int num ;
FalFreeGI(FalGIInf *ginf, int num)
{
int i ;
if( ginf == NULL ) {
@ -2924,11 +2780,7 @@ int num ;
*/
static int
fal_add_fidinf( fid, dspcode, cd_set, islock )
FalFontID fid ;
int dspcode ;
int cd_set ;
int islock ;
fal_add_fidinf(FalFontID fid, int dspcode, int cd_set, int islock)
{
int exist, i, cnt ;
FontIDInfo **flist ;
@ -2985,9 +2837,7 @@ int islock ;
}
static int
fal_read_fidinf( fid, fontid_inf )
FalFontID fid ;
FontIDInfo *fontid_inf;
fal_read_fidinf(FalFontID fid, FontIDInfo *fontid_inf)
{
int i ;
if( fid == NULL ) {
@ -3011,8 +2861,7 @@ FontIDInfo *fontid_inf;
static int
fal_del_fidinf( fid )
FalFontID fid ;
fal_del_fidinf(FalFontID fid)
{
int i, cnt, target ;
FontIDInfo **flist ;
@ -3051,10 +2900,7 @@ FalFontID fid ;
*/
static int
fal_conv_code_to_glyph( fid, code, glidx )
FalFontID fid ;
unsigned int code ;
unsigned int *glidx ;
fal_conv_code_to_glyph(FalFontID fid, unsigned int code, unsigned int *glidx)
{
Oak_FontInf *finf ;
FalFontData tmp_data ;
@ -3128,12 +2974,12 @@ unsigned int *glidx ;
*/
static int
fal_conv_glyph_to_code( finf, dspcode, cd_set, glidx, code )
Oak_FontInf *finf ;
int dspcode ;
int cd_set ;
unsigned int glidx ;
unsigned int *code ;
fal_conv_glyph_to_code(
Oak_FontInf *finf,
int dspcode,
int cd_set,
unsigned int glidx,
unsigned int *code)
{
FalFontData tmp_data ;
int inner_code ;
@ -3176,8 +3022,7 @@ unsigned int *code ;
static int
file_lock( fd )
int fd; /* a file descripter */
file_lock(int fd) /* a file descripter */
{
struct flock flpar;
@ -3195,8 +3040,7 @@ int fd; /* a file descripter */
}
static int
file_unlock( fd )
int fd; /* a file descripter */
file_unlock(int fd) /* a file descripter */
{
struct flock flpar;
@ -3213,8 +3057,7 @@ int fd; /* a file descripter */
}
static int
is_lock( fd )
int fd; /* file descripter */
is_lock(int fd) /* file descripter */
{
struct flock flpar;

View file

@ -1,9 +1,9 @@
#############################################################################
##### #####
##### fonts.list #####
##### #####
##### #####
##### All Rights Reserved, Copyright (C) FUJITSU LIMITED 1995 #####
##### #####
##### #####
#############################################################################
#
# This file is referenced by :

View file

@ -1,116 +0,0 @@
/*
* CDE - Common Desktop Environment
*
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
*
* These libraries and programs are free software; you can
* redistribute them and/or modify them under the terms of the GNU
* Lesser General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* These libraries and programs are distributed in the hope that
* they will be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with these libraries and programs; if not, write
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
*/
/* $XConsortium: font.h /main/1 1995/09/14 20:54:34 cde-fuj2 $ */
/***********************************************************
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Digital or MIT not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
(c) Copyright 1995 FUJITSU LIMITED
This is source code modified by FUJITSU LIMITED under the Joint
Development Agreement for the CDEnext PST.
This is unpublished proprietary source code of FUJITSU LIMITED
******************************************************************/
#ifndef FONT_H
#define FONT_H 1
#include "servermd.h"
#define NullCharInfo ((CharInfoPtr)0)
#define NullFontInfo ((FontInfoPtr)0)
#define LeftToRight 0
#define RightToLeft 1
/*
* for linear char sets
*/
#define n1dChars(pfi) ((pfi)->lastCol - (pfi)->firstCol + 1)
#define chFirst firstCol /* usage: pfi->chFirst */
#define chLast lastCol /* usage: pfi->chLast */
/*
* for 2D char sets
*/
#define n2dChars(pfi) (((pfi)->lastCol - (pfi)->firstCol + 1) * \
((pfi)->lastRow - (pfi)->firstRow + 1))
#define ADDRXTHISCHARINFO( pf, ch ) \
((CharInfoRec *) &((pf)->pCI[(ch) - (pf)->pFI->chFirst]))
#define GLWIDTHPIXELS(pci) \
((pci)->metrics.rightSideBearing - (pci)->metrics.leftSideBearing)
#define GLHEIGHTPIXELS(pci) \
((pci)->metrics.ascent + (pci)->metrics.descent)
#define GLYPHWIDTHBYTES(pci) (((GLYPHWIDTHPIXELS(pci))+7) >> 3)
#define GLYPHHEIGHTPIXELS(pci) (pci->metrics.ascent + pci->metrics.descent)
#define GLYPHWIDTHPIXELS(pci) (pci->metrics.rightSideBearing \
- pci->metrics.leftSideBearing)
#define GLWIDTHPADDED( bc) ((bc+7) & ~0x7)
#if GLYPHPADBYTES == 0 || GLYPHPADBYTES == 1
#define GLYPHWIDTHBYTESPADDED(pci) (GLYPHWIDTHBYTES(pci))
#define PADGLYPHWIDTHBYTES(w) (((w)+7)>>3)
#endif
#if GLYPHPADBYTES == 2
#define GLYPHWIDTHBYTESPADDED(pci) ((GLYPHWIDTHBYTES(pci)+1) & ~0x1)
#define PADGLYPHWIDTHBYTES(w) (((((w)+7)>>3)+1) & ~0x1)
#endif
#if GLYPHPADBYTES == 4
#define GLYPHWIDTHBYTESPADDED(pci) ((GLYPHWIDTHBYTES(pci)+3) & ~0x3)
#define PADGLYPHWIDTHBYTES(w) (((((w)+7)>>3)+3) & ~0x3)
#endif
#if GLYPHPADBYTES == 8 /* for a cray? */
#define GLYPHWIDTHBYTESPADDED(pci) ((GLYPHWIDTHBYTES(pci)+7) & ~0x7)
#define PADGLYPHWIDTHBYTES(w) (((((w)+7)>>3)+7) & ~0x7)
#endif
typedef struct _FontProp *FontPropPtr;
typedef struct _CharInfo *CharInfoPtr;
typedef struct _FontInfo *FontInfoPtr;
typedef unsigned int DrawDirection;
typedef struct _ExtentInfo *ExtentInfoPtr;
#endif /* FONT_H */

View file

@ -1,122 +0,0 @@
/*
* CDE - Common Desktop Environment
*
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
*
* These libraries and programs are free software; you can
* redistribute them and/or modify them under the terms of the GNU
* Lesser General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* These libraries and programs are distributed in the hope that
* they will be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with these libraries and programs; if not, write
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
*/
/* $XConsortium: fontstruct.h /main/3 1996/04/08 15:58:01 cde-fuj $ */
/***********************************************************
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Digital or MIT not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
(c) Copyright 1995 FUJITSU LIMITED
This is source code modified by FUJITSU LIMITED under the Joint
Development Agreement for the CDEnext PST.
This is unpublished proprietary source code of FUJITSU LIMITED
******************************************************************/
#ifndef FONTSTRUCT_H
#define FONTSTRUCT_H 1
#include "font.h"
#include "misc.h"
typedef struct _CharInfo {
xCharInfo metrics; /* info preformatted for Queries */
unsigned byteOffset:24; /* byte offset of the raster from pGlyphs */
Bool exists:1; /* true iff glyph exists for this char */
unsigned pad:7; /* must be zero for now */
} CharInfoRec;
typedef struct _FontInfo {
unsigned int version1; /* version stamp */
unsigned int allExist;
unsigned int drawDirection;
unsigned int noOverlap; /* true if:
* max(rightSideBearing-characterWidth)
* <= minbounds->metrics.leftSideBearing
*/
unsigned int constantMetrics;
unsigned int terminalFont; /* Should be deprecated! true if:
constant metrics &&
leftSideBearing == 0 &&
rightSideBearing == characterWidth &&
ascent == fontAscent &&
descent == fontDescent
*/
unsigned int linear:1; /* true if firstRow == lastRow */
unsigned int constantWidth:1; /* true if minbounds->metrics.characterWidth
* == maxbounds->metrics.characterWidth
*/
unsigned int inkInside:1; /* true if for all defined glyphs:
* leftSideBearing >= 0 &&
* rightSideBearing <= characterWidth &&
* -fontDescent <= ascent <= fontAscent &&
* -fontAscent <= descent <= fontDescent
*/
unsigned int inkMetrics:1; /* ink metrics != bitmap metrics */
/* used with terminalFont */
/* see font's pInk{CI,Min,Max} */
unsigned int padding:28;
unsigned int firstCol;
unsigned int lastCol;
unsigned int firstRow;
unsigned int lastRow;
unsigned int nProps;
unsigned int lenStrings; /* length in bytes of string table */
unsigned int chDefault; /* default character */
int fontDescent; /* minimum for quality typography */
int fontAscent; /* minimum for quality typography */
CharInfoRec minbounds; /* MIN of glyph metrics over all chars */
CharInfoRec maxbounds; /* MAX of glyph metrics over all chars */
unsigned int pixDepth; /* intensity bits per pixel */
unsigned int glyphSets; /* number of sets of glyphs, for
sub-pixel positioning */
unsigned int version2; /* version stamp double-check */
} FontInfoRec;
typedef struct _ExtentInfo {
DrawDirection drawDirection;
int fontAscent;
int fontDescent;
int overallAscent;
int overallDescent;
int overallWidth;
int overallLeft;
int overallRight;
} ExtentInfoRec;
#endif /* FONTSTRUCT_H */

View file

@ -1,181 +0,0 @@
/*
* CDE - Common Desktop Environment
*
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
*
* These libraries and programs are free software; you can
* redistribute them and/or modify them under the terms of the GNU
* Lesser General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* These libraries and programs are distributed in the hope that
* they will be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with these libraries and programs; if not, write
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
*/
/* $XConsortium: misc.h /main/7 1996/04/08 15:58:10 cde-fuj $ */
/***********************************************************
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Digital or MIT not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
(c) Copyright 1995 FUJITSU LIMITED
This is source code modified by FUJITSU LIMITED under the Joint
Development Agreement for the CDEnext PST.
This is unpublished proprietary source code of FUJITSU LIMITED
******************************************************************/
#ifndef MISC_H
#define MISC_H 1
/*
* X internal definitions
*
*/
extern unsigned long globalSerialNumber;
extern unsigned long serverGeneration;
#ifndef NULL
#if __STDC__ && !NOSTDHDRS
#include <stddef.h>
#else
#define NULL 0
#endif
#endif
#define MAXSCREENS 3
#define MAXCLIENTS 128
#define MAXFORMATS 8
#define MAXVISUALS_PER_SCREEN 50
typedef unsigned char *pointer;
typedef int Bool;
typedef unsigned long PIXEL;
typedef unsigned long ATOM;
#ifndef TRUE
#define TRUE 1
#define FALSE 0
#endif
#include "os.h" /* for ALLOCATE_LOCAL and DEALLOCATE_LOCAL */
#define NullBox ((BoxPtr)0)
#define MILLI_PER_MIN (1000 * 60)
#define MILLI_PER_SECOND (1000)
/* this next is used with None and ParentRelative to tell
PaintWin() what to use to paint the background. Also used
in the macro IS_VALID_PIXMAP */
#define USE_BACKGROUND_PIXEL 3
#define USE_BORDER_PIXEL 3
/* byte swap a long literal */
#define lswapl(x) ((((x) & 0xff) << 24) |\
(((x) & 0xff00) << 8) |\
(((x) & 0xff0000) >> 8) |\
(((x) >> 24) & 0xff))
/* byte swap a short literal */
#define lswaps(x) ((((x) & 0xff) << 8) | (((x) >> 8) & 0xff))
#define min(a, b) (((a) < (b)) ? (a) : (b))
#define max(a, b) (((a) > (b)) ? (a) : (b))
#ifndef abs
#define abs(a) ((a) > 0 ? (a) : -(a))
#endif
#ifndef fabs
#define fabs(a) ((a) > 0.0 ? (a) : -(a)) /* floating absolute value */
#endif
#define sign(x) ((x) < 0 ? -1 : ((x) > 0 ? 1 : 0))
/* this assumes b > 0 */
#define modulus(a, b, d) if (((d) = (a) % (b)) < 0) (d) += (b)
/*
* return the least significant bit in x which is set
*
* This works on 1's complement and 2's complement machines.
* If you care about the extra instruction on 2's complement
* machines, change to ((x) & (-(x)))
*/
#define lowbit(x) ((x) & (~(x) + 1))
#define MAXSHORT 32767
#define MINSHORT -MAXSHORT
/* some macros to help swap requests, replies, and events */
#define LengthRestB(stuff) \
(((unsigned long)stuff->length << 2) - sizeof(*stuff))
#define LengthRestS(stuff) \
(((unsigned long)stuff->length << 1) - (sizeof(*stuff) >> 1))
#define LengthRestL(stuff) \
((unsigned long)stuff->length - (sizeof(*stuff) >> 2))
#define SwapRestS(stuff) \
SwapShorts((short *)(stuff + 1), LengthRestS(stuff))
#define SwapRestL(stuff) \
SwapLongs((long *)(stuff + 1), LengthRestL(stuff))
/* byte swap a long */
#define swapl(x, n) n = ((char *) (x))[0];\
((char *) (x))[0] = ((char *) (x))[3];\
((char *) (x))[3] = n;\
n = ((char *) (x))[1];\
((char *) (x))[1] = ((char *) (x))[2];\
((char *) (x))[2] = n;
/* byte swap a short */
#define swaps(x, n) n = ((char *) (x))[0];\
((char *) (x))[0] = ((char *) (x))[1];\
((char *) (x))[1] = n
/* copy long from src to dst byteswapping on the way */
#define cpswapl(src, dst) \
((char *)&(dst))[0] = ((char *) &(src))[3];\
((char *)&(dst))[1] = ((char *) &(src))[2];\
((char *)&(dst))[2] = ((char *) &(src))[1];\
((char *)&(dst))[3] = ((char *) &(src))[0];
/* copy short from src to dst byteswapping on the way */
#define cpswaps(src, dst)\
((char *) &(dst))[0] = ((char *) &(src))[1];\
((char *) &(dst))[1] = ((char *) &(src))[0];
extern void SwapLongs();
extern void SwapShorts();
typedef struct _DDXPoint *DDXPointPtr;
typedef struct _Box *BoxPtr;
#endif /* MISC_H */

View file

@ -1,169 +0,0 @@
/*
* CDE - Common Desktop Environment
*
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
*
* These libraries and programs are free software; you can
* redistribute them and/or modify them under the terms of the GNU
* Lesser General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* These libraries and programs are distributed in the hope that
* they will be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with these libraries and programs; if not, write
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
*/
/* $XConsortium: os.h /main/6 1996/05/28 15:33:04 ageorge $ */
/***********************************************************
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Digital or MIT not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
(c) Copyright 1995 FUJITSU LIMITED
This is source code modified by FUJITSU LIMITED under the Joint
Development Agreement for the CDEnext PST.
This is unpublished proprietary source code of FUJITSU LIMITED
******************************************************************/
#ifndef OS_H
#define OS_H
#include "misc.h"
#ifdef INCLUDE_ALLOCA_H
#include <alloca.h>
#endif
#define NullFID ((FID) 0)
#define SCREEN_SAVER_ON 0
#define SCREEN_SAVER_OFF 1
#define SCREEN_SAVER_FORCER 2
#if defined(stellar)
#define MAX_REQUEST_SIZE 65535
#else
#define MAX_REQUEST_SIZE 16384
#endif
typedef pointer FID;
typedef struct _FontPathRec *FontPathPtr;
typedef struct _NewClientRec *NewClientPtr;
#ifndef NO_ALLOCA
/*
* os-dependent definition of local allocation and deallocation
* If you want something other than Xalloc/Xfree for ALLOCATE/DEALLOCATE
* LOCAL then you add that in here.
*/
#if defined(__HIGHC__)
extern char *alloca();
#if HCVERSION < 21003
#define ALLOCATE_LOCAL(size) alloca((int)(size))
pragma on(alloca);
#else /* HCVERSION >= 21003 */
#define ALLOCATE_LOCAL(size) _Alloca((int)(size))
#endif /* HCVERSION < 21003 */
#define DEALLOCATE_LOCAL(ptr) /* as nothing */
#endif /* defined(__HIGHC__) */
#if defined(__GNUC__)
#if !defined(__linux__)
#ifdef alloca
#undef alloca
#endif
#define alloca ___builtin_alloca
#endif
#define ALLOCATE_LOCAL(size) alloca((int)(size))
#define DEALLOCATE_LOCAL(ptr) /* as nothing */
#else /* ! __GNUC__ */
/*
* warning: mips alloca is unsuitable in the server, do not use.
*/
#if defined(vax) || defined(sun) || defined(stellar)
/*
* Some System V boxes extract alloca.o from /lib/libPW.a; if you
* decide that you don't want to use alloca, you might want to fix
* ../os/4.2bsd/Imakefile
*/
char *alloca();
#define ALLOCATE_LOCAL(size) alloca((int)(size))
#define DEALLOCATE_LOCAL(ptr) /* as nothing */
#endif /* who does alloca */
#endif /* __GNUC__ */
#endif /* NO_ALLOCA */
#ifndef ALLOCATE_LOCAL
#define ALLOCATE_LOCAL(size) Xalloc((unsigned long)(size))
#define DEALLOCATE_LOCAL(ptr) Xfree((pointer)(ptr))
#endif /* ALLOCATE_LOCAL */
#define xalloc(size) Xalloc((unsigned long)(size))
#define xrealloc(ptr, size) Xrealloc((pointer)(ptr), (unsigned long)(size))
#define xfree(ptr) Xfree((pointer)(ptr))
int ReadRequestFromClient();
#ifndef strcat
char *strcat();
#endif
#ifndef strncat
char *strncat();
#endif
#ifndef strcpy
char *strcpy();
#endif
#ifndef strncpy
char *strncpy();
#endif
Bool CloseDownConnection();
FontPathPtr GetFontPath();
FontPathPtr ExpandFontNamePattern();
FID FiOpenForRead();
void CreateWellKnownSockets();
int SetDefaultFontPath();
void FreeFontRecord();
int SetFontPath();
void ErrorF();
void Error();
void FatalError();
void ProcessCommandLine();
void Xfree();
void FlushAllOutput();
void FlushIfCriticalOutputPending();
unsigned long *Xalloc();
unsigned long *Xrealloc();
long GetTimeInMillis();
#endif /* OS_H */

View file

@ -1,294 +0,0 @@
/*
* CDE - Common Desktop Environment
*
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
*
* These libraries and programs are free software; you can
* redistribute them and/or modify them under the terms of the GNU
* Lesser General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* These libraries and programs are distributed in the hope that
* they will be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with these libraries and programs; if not, write
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
*/
/* $XConsortium: servermd.h /main/2 1996/04/08 15:58:29 cde-fuj $ */
/***********************************************************
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Digital or MIT not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
(c) Copyright 1995 FUJITSU LIMITED
This is source code modified by FUJITSU LIMITED under the Joint
Development Agreement for the CDEnext PST.
This is unpublished proprietary source code of FUJITSU LIMITED
******************************************************************/
#ifndef SERVERMD_H
#define SERVERMD_H 1
/*
* The vendor string identifies the vendor responsible for the
* server executable.
*/
#ifndef VENDOR_STRING
#define VENDOR_STRING "MIT X Consortium"
#endif
/*
* The vendor release number identifies, for the purpose of submitting
* traceable bug reports, the release number of software produced
* by the vendor.
*/
#ifndef VENDOR_RELEASE
#define VENDOR_RELEASE 4
#endif
/*
* Machine dependent values:
* GLYPHPADBYTES should be chosen with consideration for the space-time
* trade-off. Padding to 0 bytes means that there is no wasted space
* in the font bitmaps (both on disk and in memory), but that access of
* the bitmaps will cause odd-address memory references. Padding to
* 2 bytes would ensure even address memory references and would
* be suitable for a 68010-class machine, but at the expense of wasted
* space in the font bitmaps. Padding to 4 bytes would be good
* for real 32 bit machines, etc. Be sure that you tell the font
* compiler what kind of padding you want because its defines are
* kept separate from this. See server/include/font.h for how
* GLYPHPADBYTES is used.
*
* Along with this, you should choose an appropriate value for
* GETLEFTBITS_ALIGNMENT, which is used in ddx/mfb/maskbits.h. This
* constant choses what kind of memory references are guarenteed during
* font access; either 1, 2 or 4, for byte, word or longword access,
* respectively. For instance, if you have decided to to have
* GLYPHPADBYTES == 4, then it is pointless for you to have a
* GETLEFTBITS_ALIGNMENT > 1, because the padding of the fonts has already
* guarenteed you that your fonts are longword aligned. On the other
* hand, even if you have chosen GLYPHPADBYTES == 1 to save space, you may
* also decide that the computing involved in aligning the pointer is more
* costly than an odd-address access; you choose GETLEFTBITS_ALIGNMENT == 1.
*
* Next, choose the tuning parameters which are appropriate for your
* hardware; these modify the behaviour of the raw frame buffer code
* in ddx/mfb and ddx/cfb. Defining these incorrectly will not cause
* the server to run incorrectly, but defining these correctly will
* cause some noticeable speed improvements:
*
* AVOID_MEMORY_READ - (8-bit cfb only)
* When stippling pixels on the screen (polytext and pushpixels),
* don't read long words from the display and mask in the
* appropriate values. Rather, perform multiple byte/short/long
* writes as appropriate. This option uses many more instructions
* but runs much faster when the destination is much slower than
* the CPU and at least 1 level of write buffer is availible (2
* is much better). Defined currently for SPARC and MIPS.
*
* FAST_CONSTANT_OFFSET_MODE - (cfb and mfb)
* This define is used on machines which have no auto-increment
* addressing mode, but do have an effectively free constant-offset
* addressing mode. Currently defined for MIPS and SPARC, even though
* I remember the cg6 as performing better without it (cg3 definitely
* performs better with it).
*
* LARGE_INSTRUCTION_CACHE -
* This define increases the number of times some loops are
* unrolled. On 68020 machines (with 256 bytes of i-cache),
* this define will slow execution down as instructions miss
* the cache frequently. On machines with real i-caches, this
* reduces loop overhead, causing a slight performance improvement.
* Currently defined for MIPS and SPARC
*
* FAST_UNALIGNED_READS -
* For machines with more memory bandwidth than CPU, this
* define uses unaligned reads for 8-bit BitBLT instead of doing
* aligned reads and combining the results with shifts and
* logical-ors. Currently defined for 68020 and vax.
* PLENTIFUL_REGISTERS -
* For machines with > 20 registers. Currently used for
* unrolling the text painting code a bit more. Currently
* defined for MIPS.
*/
#ifdef vax
#define IMAGE_BYTE_ORDER LSBFirst /* Values for the VAX only */
#define BITMAP_BIT_ORDER LSBFirst
#define GLYPHPADBYTES 1
#define GETLEFTBITS_ALIGNMENT 4
#define FAST_UNALIGNED_READS
#endif /* vax */
#ifdef sun
#if defined(sun386) || defined(sun5)
# define IMAGE_BYTE_ORDER LSBFirst /* Values for the SUN only */
# define BITMAP_BIT_ORDER LSBFirst
#else
# define IMAGE_BYTE_ORDER MSBFirst /* Values for the SUN only */
# define BITMAP_BIT_ORDER MSBFirst
#endif
#ifdef sparc
# define AVOID_MEMORY_READ
# define LARGE_INSTRUCTION_CACHE
# define FAST_CONSTANT_OFFSET_MODE
#endif
#ifdef mc68020
#define FAST_UNALIGNED_READS
#endif
#define GLYPHPADBYTES 4
#define GETLEFTBITS_ALIGNMENT 1
#endif /* sun */
#if defined(ibm032) || defined (ibm)
#ifdef i386
# define IMAGE_BYTE_ORDER LSBFirst /* Value for PS/2 only */
#else
# define IMAGE_BYTE_ORDER MSBFirst /* Values for the RT only*/
#endif
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 1
#define GETLEFTBITS_ALIGNMENT 4
/* ibm pcc doesn't understand pragmas. */
#endif /* ibm */
#ifdef hpux
#define IMAGE_BYTE_ORDER MSBFirst /* Values for the HP only */
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 2 /* to match product server */
#define GETLEFTBITS_ALIGNMENT 1
#endif /* hpux */
#if defined(M4315) || defined(M4317) || defined(M4319) || defined(M4330)
#define IMAGE_BYTE_ORDER MSBFirst /* Values for Pegasus only */
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 4
#define GETLEFTBITS_ALIGNMENT 1
#define FAST_UNALIGNED_READS
#endif /* tektronix */
#ifdef mips
#ifdef MIPSEL
# define IMAGE_BYTE_ORDER LSBFirst /* Values for the PMAX only */
# define BITMAP_BIT_ORDER LSBFirst
# define GLYPHPADBYTES 4
# define GETLEFTBITS_ALIGNMENT 1
#else
# define IMAGE_BYTE_ORDER MSBFirst /* Values for the MIPS only */
# define BITMAP_BIT_ORDER MSBFirst
# define GLYPHPADBYTES 4
# define GETLEFTBITS_ALIGNMENT 1
#endif
#define AVOID_MEMORY_READ
#define FAST_CONSTANT_OFFSET_MODE
#define LARGE_INSTRUCTION_CACHE
#define PLENTIFUL_REGISTERS
#endif /* mips */
#ifdef stellar
#define IMAGE_BYTE_ORDER MSBFirst /* Values for the stellar only*/
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 4
#define GETLEFTBITS_ALIGNMENT 4
/*
* Use SysV random number generator.
*/
#define random rand
#endif /* stellar */
/* size of buffer to use with GetImage, measured in bytes. There's obviously
* a trade-off between the amount of stack (or whatever ALLOCATE_LOCAL gives
* you) used and the number of times the ddx routine has to be called.
*
* for a 1024 x 864 bit monochrome screen with a 32 bit word we get
* 8192/4 words per buffer
* (1024/32) = 32 words per scanline
* 2048 words per buffer / 32 words per scanline = 64 scanlines per buffer
* 864 scanlines / 64 scanlines = 14 buffers to draw a full screen
*/
#if defined(stellar)
#define IMAGE_BUFSIZE (64*1024)
#else
#define IMAGE_BUFSIZE 8192
#endif
/* pad scanline to a longword */
#if defined(ibm) && defined(i386)
#define BITMAP_SCANLINE_UNIT 8
#else
#define BITMAP_SCANLINE_UNIT 32
#endif
#define BITMAP_SCANLINE_PAD 32
#define LOG2_BITMAP_PAD 5
#define LOG2_BYTES_PER_SCANLINE_PAD 2
/*
* This returns the number of padding units, for depth d and width w.
* For bitmaps this can be calculated with the macros above.
* Other depths require either grovelling over the formats field of the
* screenInfo or hardwired constants.
*/
typedef struct _PaddingInfo {
int padRoundUp; /* pixels per pad unit - 1 */
int padPixelsLog2; /* log 2 (pixels per pad unit) */
int padBytesLog2; /* log 2 (bytes per pad unit) */
} PaddingInfo;
extern PaddingInfo PixmapWidthPaddingInfo[];
#define PixmapWidthInPadUnits(w, d) \
(((w) + PixmapWidthPaddingInfo[d].padRoundUp) >> \
PixmapWidthPaddingInfo[d].padPixelsLog2)
/*
* Return the number of bytes to which a scanline of the given
* depth and width will be padded.
*/
#define PixmapBytePad(w, d) \
(PixmapWidthInPadUnits(w, d) << PixmapWidthPaddingInfo[d].padBytesLog2)
#endif /* SERVERMD_H */

View file

@ -36,6 +36,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <X11/Intrinsic.h>
#include "FaLib.h"
#include "falfont.h"
@ -62,8 +63,7 @@ extern void BitOrderInvert() ;
extern void set_errfile_str() ;
static CARD32
getLSB32( p)
unsigned char *p;
getLSB32(unsigned char *p)
{
CARD32 c;
@ -76,9 +76,7 @@ unsigned char *p;
}
static int
getINT32( p, format)
unsigned char *p;
CARD32 format;
getINT32(unsigned char *p, CARD32 format)
{
CARD32 c;
@ -98,9 +96,7 @@ CARD32 format;
}
static int
getINT16( p, format)
unsigned char *p;
CARD32 format;
getINT16(unsigned char *p, CARD32 format)
{
CARD32 c;
@ -116,13 +112,13 @@ CARD32 format;
}
static Bool
seekToType( tables, ntables, type, formatp, sizep, offsetp)
PCFTablePtr tables;
int ntables;
CARD32 type;
CARD32 *formatp;
CARD32 *sizep;
CARD32 *offsetp;
seekToType(
PCFTablePtr tables,
int ntables,
CARD32 type,
CARD32 *formatp,
CARD32 *sizep,
CARD32 *offsetp)
{
int i;
@ -143,10 +139,7 @@ CARD32 *offsetp;
static void
getMetric( buf, format, metric)
caddr_t buf;
CARD32 format;
xCharInfo *metric;
getMetric(caddr_t buf, CARD32 format, xCharInfo *metric)
{
metric->leftSideBearing = getINT16( (unsigned char *)buf, (CARD32)format);
buf += 2;
@ -163,13 +156,13 @@ xCharInfo *metric;
}
static Bool
getAccel( pFontInfo, maxink, buf_top, tables, ntables, type)
FontInfoPtr pFontInfo;
xCharInfo *maxink;
caddr_t buf_top;
PCFTablePtr tables;
int ntables;
CARD32 type;
getAccel(
FontInfoPtr pFontInfo,
xCharInfo *maxink,
caddr_t buf_top,
PCFTablePtr tables,
int ntables,
CARD32 type)
{
CARD32 format;
CARD32 offset;
@ -200,23 +193,21 @@ CARD32 type;
buffer +=4;
/* pFontInfo->maxOverlap = getINT32( (unsigned char *)buffer, (CARD32)format); */ buffer += 4;
getMetric(buffer, format, &pFontInfo->minbounds.metrics);
getMetric(buffer, format, &pFontInfo->minbounds);
buffer += 12;
getMetric(buffer, format, &pFontInfo->maxbounds.metrics);
getMetric(buffer, format, &pFontInfo->maxbounds);
buffer += 12;
if (PCF_FORMAT_MATCH(format, PCF_ACCEL_W_INKBOUNDS)) {
buffer += 12;
getMetric( buffer, format, maxink);
} else {
*maxink = pFontInfo->maxbounds.metrics;
*maxink = pFontInfo->maxbounds;
}
return TRUE;
}
int
falInitReadPcf( pcfinf, buftop)
struct pcf_inf *pcfinf;
caddr_t buftop;
falInitReadPcf(struct pcf_inf *pcfinf, caddr_t buftop)
{
CARD32 format;
CARD32 offset;
@ -225,7 +216,7 @@ caddr_t buftop;
caddr_t buffp;
if ( getLSB32( (unsigned char *)buftop ) != PCF_FILE_VERSION)
goto Bail;
return -1;
pcfinf->ntables = getLSB32( (unsigned char *)(buftop + 4) );
@ -235,20 +226,20 @@ caddr_t buftop;
(CARD32)PCF_BDF_ACCELERATORS))
if ( !getAccel( &pcfinf->info, &maxink, buftop, pcfinf->tables, pcfinf->ntables,
(CARD32)PCF_ACCELERATORS))
goto Bail;
return -1;
pcfinf->org_bounds = pcfinf->info.maxbounds.metrics;
pcfinf->org_bounds = pcfinf->info.maxbounds;
if ( !seekToType( pcfinf->tables, pcfinf->ntables, (CARD32)PCF_BITMAPS,
&format, (CARD32 *)NULL, &offset))
goto Bail;
return -1;
buffp = buftop + offset;
format = getLSB32( (unsigned char *)buffp );
buffp += 4;
if (!PCF_FORMAT_MATCH(format, PCF_DEFAULT_FORMAT))
goto Bail;
return -1;
pcfinf->nbitmaps = getINT32( (unsigned char *)buffp, (CARD32)format);
buffp += 4;
@ -264,13 +255,13 @@ caddr_t buftop;
if ( !seekToType( pcfinf->tables, pcfinf->ntables, (CARD32)PCF_BDF_ENCODINGS,
&format, (CARD32 *)NULL, &offset))
goto Bail;
return -1;
buffp = buftop + offset;
format = getLSB32( (unsigned char *)buffp );
buffp += 4;
if (!PCF_FORMAT_MATCH(format, PCF_DEFAULT_FORMAT))
goto Bail;
return -1;
pcfinf->info.firstCol = getINT16( (unsigned char *)buffp, (CARD32)format);
buffp += 2;
@ -283,7 +274,7 @@ caddr_t buftop;
/*
pcfinf->info.defaultCh = getINT16( (unsigned char *)buffp, (CARD32)format); buffp += 2;
*/
pcfinf->info.chDefault = getINT16( (unsigned char *)buffp, (CARD32)format);
pcfinf->info.defaultCh = getINT16( (unsigned char *)buffp, (CARD32)format);
buffp += 2;
pcfinf->info.allExist = FALSE;
@ -291,14 +282,10 @@ caddr_t buftop;
pcfinf->encodingOffsets = (CARD16 *)buffp;
return 0;
Bail:
return -1;
}
static void
ByteSwap( p, scan)
char *p;
int scan;
ByteSwap(char *p, int scan)
{
char w;
@ -321,11 +308,7 @@ int scan;
}
}
static void
repadBits( src, format, width, height, dest)
char *src;
CARD32 format;
int width, height;
char *dest;
repadBits(char *src, CARD32 format, int width, int height, char *dest)
{
int bit, byte, glyph, scan;
int src_bytewidth, dest_bytewidth;
@ -358,17 +341,14 @@ char *dest;
}
int
falPcfGlyph( glyph, finf, code)
char *glyph;
Oak_FontInf *finf;
int code;
falPcfGlyph(char *glyph, Oak_FontInf *finf, int code)
{
int encode;
int inner_code;
char *bitmap;
int encodingOffset;
int codeRow, codeCol;
int bytewidth;
int encode;
int inner_code;
char *bitmap;
int encodingOffset;
int codeRow, codeCol;
int bytewidth;
int bmp_adj, ptn_adj;
int adj_hi;
int cpy_height;
@ -405,9 +385,9 @@ int code;
bitmap = finf->pcfinf.bitmaps + getINT32( (unsigned char *)(finf->pcfinf.offsets + encodingOffset), finf->pcfinf.bmp_fmt);
bmp_height = finf->pFinf->maxbounds.metrics.ascent
+ finf->pFinf->maxbounds.metrics.descent;
if (( adj_hi = finf->pFinf->maxbounds.metrics.ascent
bmp_height = finf->pFinf->maxbounds.ascent
+ finf->pFinf->maxbounds.descent;
if (( adj_hi = finf->pFinf->maxbounds.ascent
- finf->pcfinf.org_bounds.ascent) > 0) {
bytewidth = 8 * PCF_GLYPH_PAD( finf->pcfinf.bmp_fmt);
bytewidth = (( finf->width + bytewidth - 1)/ bytewidth ) * PCF_GLYPH_PAD( finf->pcfinf.bmp_fmt);
@ -433,9 +413,10 @@ int code;
}
void
falGetPcfGSize( pcfinf, widthp, heightp)
struct pcf_inf *pcfinf;
unsigned int *widthp, *heightp;
falGetPcfGSize(
struct pcf_inf *pcfinf,
unsigned int *widthp,
unsigned int *heightp)
{
unsigned int w, h;
@ -456,7 +437,7 @@ unsigned int *widthp, *heightp;
*
*******************************************************/
#include "fontstruct.h"
#include <X11/fonts/fontstruct.h>
static char *getPcfFontProp();
static char *getSnfFontProp();
@ -466,11 +447,11 @@ static char *getSnfFontProp();
*/
int
falReadFontProp( file, protect_key_data, databuff, islock )
char *file ; /* name of font file */
int protect_key_data ;
FalFontData *databuff ;
int islock ;
falReadFontProp(
char *file, /* name of font file */
int protect_key_data,
FalFontData *databuff,
int islock)
{
Oak_FontInf finf;
int fd ;
@ -586,11 +567,11 @@ int islock ;
* get properties of GPF format file
*/
int
falReadGpfProp( updflg, finf, protect_key_data, databuff )
int updflg ;
Oak_FontInf *finf;
int protect_key_data ;
FalFontData *databuff ;
falReadGpfProp(
int updflg,
Oak_FontInf *finf,
int protect_key_data,
FalFontData *databuff)
{
char *openfontfile;
int rtn ;
@ -656,10 +637,7 @@ FalFontData *databuff ;
* get properties of PCF format file
*/
int
falInitReadPcfProp( updflg, finf, databuff )
int updflg ;
Oak_FontInf *finf;
FalFontData *databuff ;
falInitReadPcfProp(int updflg, Oak_FontInf *finf, FalFontData *databuff)
{
struct pcf_inf *pcfinf;
caddr_t buftop;
@ -685,7 +663,7 @@ FalFontData *databuff ;
if ( !getAccel( &pcfinf->info, &maxink, buftop, pcfinf->tables,
pcfinf->ntables, (CARD32)PCF_ACCELERATORS)) {
fal_utyerrno = FAL_ERR_FONT ;
goto Bail;
return -1;
}
}
@ -696,7 +674,7 @@ FalFontData *databuff ;
*/
if( updflg == FAL_UPDATE_FONTINFO ) {
pcfinf->org_bounds = pcfinf->info.maxbounds.metrics;
pcfinf->org_bounds = pcfinf->info.maxbounds;
}
lb = pcfinf->org_bounds.leftSideBearing ;
@ -714,7 +692,7 @@ FalFontData *databuff ;
pcfinf->ntables, "FONT" )) {
if( (databuff->xlfdname = (char *)strdup( buffp )) == (char *)NULL ){
fal_utyerrno = FAL_ERR_MALLOC ;
goto Bail;
return -1;
}
}else{
set_errfile_str( fal_err_file, finf->fname ) ;
@ -729,7 +707,7 @@ FalFontData *databuff ;
pcfinf->ntables, "FAMILY_NAME")) {
if( (databuff->style.name = (char *)strdup( buffp )) == NULL ){
fal_utyerrno = FAL_ERR_MALLOC ;
goto Bail ;
return -1;
}
}else{
set_errfile_str( fal_err_file, finf->fname ) ;
@ -738,18 +716,13 @@ FalFontData *databuff ;
}
return 0;
Bail:
return -1;
}
static char *
getPcfFontProp( buftop, tables, ntables, propname)
caddr_t buftop;
PCFTablePtr tables;
int ntables;
char *propname;
getPcfFontProp(caddr_t buftop, PCFTablePtr tables, int ntables, char *propname)
{
caddr_t buffer;
int name_ofs;
@ -792,10 +765,10 @@ char *propname;
* get properties of SNF format file
*/
int
falInitReadSnfProp( finf, buftop, databuff )
Oak_FontInf *finf; /* pointer to the infomation structure */
caddr_t buftop; /* font file */
FalFontData *databuff ;
falInitReadSnfProp(
Oak_FontInf *finf, /* pointer to the infomation structure */
caddr_t buftop, /* font file */
FalFontData *databuff)
{
caddr_t stprop ;
int lb, rb, as, ds ;
@ -805,23 +778,21 @@ FalFontData *databuff ;
/* initialize pointer */
nprops = finf->pFinf->nProps ;
nprops = finf->pFinf->nprops ;
num_chars = ( finf->pFinf->lastRow - finf->pFinf->firstRow + 1 ) *
( finf->pFinf->lastCol - finf->pFinf->firstCol + 1 ) ;
bitmapSize = BYTESOFGLYPHINFO(finf->pFinf) ;
stprop = buftop ;
stprop += sizeof(FontInfoRec) ;
stprop += num_chars * sizeof(CharInfoRec) ;
stprop += bitmapSize ;
/*
* read property "FONTBOUNDINGBOX"
*/
lb = finf->pFinf->maxbounds.metrics.leftSideBearing ;
rb = finf->pFinf->maxbounds.metrics.rightSideBearing ;
as = finf->pFinf->maxbounds.metrics.ascent ;
ds = finf->pFinf->maxbounds.metrics.descent ;
lb = finf->pFinf->maxbounds.leftSideBearing ;
rb = finf->pFinf->maxbounds.rightSideBearing ;
as = finf->pFinf->maxbounds.ascent ;
ds = finf->pFinf->maxbounds.descent ;
/*
* read property "FONT"
@ -829,7 +800,8 @@ FalFontData *databuff ;
if ( propptr = getSnfFontProp( stprop, nprops, "FONT" )) {
if( (fnt = (char *)strdup( propptr )) == NULL ){
fal_utyerrno = FAL_ERR_MALLOC ;
goto Bail;
free(fnt);
return -1;
}
}else{
set_errfile_str( fal_err_file, finf->fname ) ;
@ -843,7 +815,8 @@ FalFontData *databuff ;
if ( propptr = getSnfFontProp( stprop, nprops, "FAMILY_NAME")) {
if( (fam = (char *)strdup( propptr )) == NULL ){
fal_utyerrno = FAL_ERR_MALLOC ;
goto Bail ;
free(fnt);
return -1;
}
}else{
set_errfile_str( fal_err_file, finf->fname ) ;
@ -863,18 +836,12 @@ FalFontData *databuff ;
databuff->style.name = fam ;
return 0;
Bail:
free(fnt);
return -1;
}
static char *
getSnfFontProp( buftop, nprops, propname )
caddr_t buftop;
int nprops ;
char *propname;
getSnfFontProp(caddr_t buftop, int nprops, char *propname)
{
caddr_t buffer;
int name_ofs;
@ -889,11 +856,7 @@ char *propname;
for ( i=0; i < nprops ; i++, ProcRec++ ) {
name_ofs = ProcRec->name ;
if( strcmp( propstr + name_ofs, propname ) == 0 ){
if( ProcRec->indirect ){
return( propstr + ProcRec->value ) ;
}else{
return( (char *) (intptr_t) ProcRec->value ) ;
}
}
}

View file

@ -33,45 +33,34 @@
#include "_falutil.h"
extern XrmQuark falrmStringToQuark(
#if NeedFunctionPrototypes
_Xconst char* /* string */
#endif
const char* /* string */
);
extern XrmString falrmQuarkToString(
#if NeedFunctionPrototypes
XrmQuark /* quark */
#endif
);
extern char *falGetAtomName(
#if NeedFunctionPrototypes
Display* /* display */,
Atom /* atom */
#endif
);
extern char **falListFonts(
#if NeedFunctionPrototypes
Display* /* display */,
_Xconst char* /* pattern */,
const char* /* pattern */,
int /* maxnames */,
int* /* actual_count_return */
#endif
);
extern char **falListFontsWithInfo(
#if NeedFunctionPrototypes
Display* /* display */,
_Xconst char* /* pattern */,
const char* /* pattern */,
int /* maxnames */,
int* /* count_return */,
XFontStruct** /* info_return */
#endif
);
extern XFontStruct *falLoadQueryFont(
#if NeedFunctionPrototypes
Display* /* display */,
_Xconst char* /* name */
#endif
const char* /* name */
);

View file

@ -55,13 +55,22 @@
#include "bdfgpf.h"
static void ErrMsgTable_GetDefaultFile();
static int falcom_split_data() ;
static void dsp_font_list() ;
static int search_Font_File_Name();
static void ErrMsgTable_GetDefaultFile(char *com,
int ret,
int size,
char *style,
char *fname);
static int falcom_split_data(char *buf,
int entry_num,
char *elm[]);
static void dsp_font_list(FalFontDataList *flist);
static int search_Font_File_Name(FalFontData data, char *fname);
extern int searchFontFileName();
extern int falReadFontProp() ;
extern int searchFontFileName(FalFontData data, char *fullPathName);
extern int falReadFontProp(char *file,
int protect_key_data,
FalFontData *databuff,
int islock);
/*
* get "character size" and "letter size" from a character of an interface
@ -76,10 +85,10 @@ extern int falReadFontProp() ;
#define BODY_AND_LETTER 2
static int
GetSize( size_str, body, letter )
char *size_str; /* a character of a size */
int *body; /* set "character size" (output) */
int *letter; /* set "letter size" (output) */
GetSize(
char *size_str, /* a character of a size */
int *body, /* set "character size" (output) */
int *letter) /* set "letter size" (output) */
{
char *str_dot;
/* char *str_end; */
@ -120,18 +129,10 @@ int *letter; /* set "letter size" (output) */
*/
int
#if NeedFunctionPrototypes
falcom_atoi(
char *str, /* numerical character */
char ed_code,/* an end code in numerical character */
int *val /* set numarical data */
)
#else
falcom_atoi(str, ed_code, val)
char *str; /* numerical character */
char ed_code;/* an end code in numerical character */
int *val; /* set numarical data */
#endif
int *val) /* set numarical data */
{
char *ptr;
char *str_end;
@ -153,8 +154,7 @@ int *val; /* set numarical data */
static int
falcom_cr_to_null(buf)
char *buf;
falcom_cr_to_null(char *buf)
{
buf = strchr( buf, '\n');
if (buf != NULL) {
@ -173,18 +173,10 @@ char *buf;
int
#if NeedFunctionPrototypes
GetDefaultFile(
int size,
char *style,
char *fname
)
#else
GetDefaultFile( size, style, fname )
int size; /* character size */
char *style; /* character style */
char *fname; /* buffer */
#endif
int size, /* character size */
char *style, /* character style */
char *fname) /* buffer */
{
FILE *fp;
int ret;
@ -213,20 +205,11 @@ char *fname; /* buffer */
int
#if NeedFunctionPrototypes
get_default_file(
FILE *fp,
int size,
char *style,
char *fname
)
#else
get_default_file( fp, size, style, fname )
FILE *fp;
int size; /* character size */
char *style; /* character style */
char *fname; /* buffer */
#endif
int size, /* character size */
char *style, /* character style */
char *fname) /* buffer */
{
char buf[BUFSIZE]; /* buffer */
int size_tmp; /* size (read file) */
@ -273,10 +256,10 @@ char *fname; /* buffer */
/**************************************************************/
static int
falcom_split_data( buf, entry_num, elm )
char *buf; /* read a font information character array from a file */
int entry_num;
char *elm[];
falcom_split_data(
char *buf, /* read a font information character array from a file */
int entry_num,
char *elm[])
{
int cnt; /* counter */
int strtop_flg; /* flag of a head of a character array */
@ -309,12 +292,7 @@ char *elm[];
char *
#if NeedFunctionPrototypes
falcom_get_base_name( char *str )
#else
falcom_get_base_name( str )
char *str; /* a full path character of a file name */
#endif
falcom_get_base_name( char *str /* a full path character of a file name */ )
{
char *str_slash;
@ -327,8 +305,7 @@ char *str; /* a full path character of a file name */
static int
is_letter_size_not_only_one( lst )
FalFontDataList *lst; /* a font list */
is_letter_size_not_only_one( FalFontDataList *lst /* a font list */ )
{
int i, letter_cmp;
@ -351,22 +328,12 @@ FalFontDataList *lst; /* a font list */
*
*/
int
#if NeedFunctionPrototypes
GetFileName(
char *com,
char *size_str,
char *style,
int codeset,
char *ofile
)
#else
GetFileName(com, size_str, style, codeset, ofile)
char *com; /* a character of a command name(case error) */
char *size_str; /* a character of "size" */
char *style; /* a character of "style" */
int codeset; /* a codeset */
char *ofile; /* set a target file name (output) */
#endif
char *com, /* a character of a command name(case error) */
char *size_str, /* a character of "size" */
char *style, /* a character of "style" */
int codeset, /* a codeset */
char *ofile) /* set a target file name (output) */
{
int body, letter;
int size_sw; /* a size flag */
@ -570,18 +537,10 @@ char *fal_errmsg_org[0xff] = {
void
#if NeedFunctionPrototypes
ErrMsgTable_FalGetFontList(
char *com,
int utyerr,
int utyderr
)
#else
ErrMsgTable_FalGetFontList( com, utyerr, utyderr )
char *com; /* command name */
int utyerr; /* fal_utyerror */
int utyderr; /* fal_utyderror */
#endif
char *com, /* command name */
int utyerr, /* fal_utyerror */
int utyderr) /* fal_utyderror */
{
char *fontsdir, *locale ;
@ -627,17 +586,15 @@ int utyderr; /* fal_utyderror */
}
}
/* take out an error message of "GetDefaultFile()" */
static void
ErrMsgTable_GetDefaultFile( com, ret, size, style, fname )
char *com; /* a command name */
int ret; /* return code */
int size; /* a character size */
char *style; /* a character style */
char *fname; /* user defined character information file name */
ErrMsgTable_GetDefaultFile(
char *com, /* a command name */
int ret, /* return code */
int size, /* a character size */
char *style, /* a character style */
char *fname) /* user defined character information file name */
{
switch (ret) {
case -1:
@ -666,12 +623,7 @@ char *fname; /* user defined character information file name */
*/
void
#if NeedFunctionPrototypes
fal_cut_tailslash( char *name )
#else
fal_cut_tailslash( name )
char *name;
#endif
{
char *p;
@ -695,12 +647,7 @@ char *name;
*/
char *
#if NeedFunctionPrototypes
GetRealFileName( char *name )
#else
GetRealFileName( name )
char *name;
#endif
{
static char *ret_name ;
char link_name[BUFSIZE];
@ -760,18 +707,10 @@ char *name;
*/
int
#if NeedFunctionPrototypes
IsInRegion(
int code ,
int num_gr ,
FalGlyphRegion *gr
)
#else
IsInRegion(code, num_gr, gr)
int code ;
int num_gr ;
FalGlyphRegion *gr ;
#endif
FalGlyphRegion *gr)
{
int i ;
if( code < MIN_CODE || code > MAX_CODE ) return -1 ;
@ -787,9 +726,7 @@ FalGlyphRegion *gr ;
static int
search_Font_File_Name( data, fname )
FalFontData data ;
char *fname ;
search_Font_File_Name( FalFontData data, char *fname )
{
FalFontID fid ;
FalFontDataList *flist ;
@ -861,20 +798,11 @@ char *fname ;
int
#if NeedFunctionPrototypes
GetUdcFileName(
char *com ,
int code_no ,
char *xlfdname ,
char *fname
)
#else
GetUdcFileName( com, code_no, xlfdname, fname )
char *com ;
int code_no ;
char *xlfdname ;
char *fname ;
#endif
char *com,
int code_no,
char *xlfdname,
char *fname)
{
FalFontData data ;
@ -891,8 +819,7 @@ char *fname ;
static void
dsp_font_list( flist )
FalFontDataList *flist ;
dsp_font_list( FalFontDataList *flist )
{
int i ;
@ -910,22 +837,12 @@ FalFontDataList *flist ;
int
#if NeedFunctionPrototypes
GetUdcRegion(
char *com ,
int codeset ,
char *gpf_file ,
int *num_gr ,
FalGlyphRegion **gr
)
#else
GetUdcRegion( com, codeset, gpf_file, num_gr, gr )
char *com ;
int codeset ;
char *gpf_file ;
int *num_gr ;
FalGlyphRegion **gr ;
#endif
char *com,
int codeset,
char *gpf_file,
int *num_gr,
FalGlyphRegion **gr)
{
FalFontData fdata ;
char *locale, *char_set, *tmp_gpf ;
@ -971,12 +888,7 @@ FalGlyphRegion **gr ;
#define MAX_CODESET 8
int
#if NeedFunctionPrototypes
DispUdcCpArea( FILE *fp )
#else
DispUdcCpArea( fp )
FILE *fp ;
#endif
{
int cd_set, j ;
FalFontDataList *fls ;
@ -1026,18 +938,10 @@ FILE *fp ;
int
#if NeedFunctionPrototypes
GetUdcFontName(
char *gpf_file ,
char *bdf_file ,
char **fontname
)
#else
GetUdcFontName( gpf_file, bdf_file, fontname )
char *gpf_file ;
char *bdf_file ;
char **fontname ;
#endif
char **fontname)
{
FILE *fp ;
pid_t chld_pid = 0;

View file

@ -48,12 +48,7 @@
*/
int
#if NeedFunctionPrototypes
FileLock( int fd )
#else
FileLock( fd )
int fd; /* a file descripter */
#endif
{
struct flock flpar;
@ -83,12 +78,7 @@ int fd; /* a file descripter */
*/
int
#if NeedFunctionPrototypes
FileUnLock( int fd )
#else
FileUnLock( fd )
int fd; /* a file descripter */
#endif
{
struct flock flpar;
@ -115,12 +105,7 @@ int fd; /* a file descripter */
*/
int
#if NeedFunctionPrototypes
isLock( int fd )
#else
isLock( fd )
int fd; /* file descripter */
#endif
{
struct flock flpar;

View file

@ -52,7 +52,7 @@
#include "bdfgpf.h"
#include "udcutil.h"
static void exline();
static void exline(char *sp, char *dbuf, int sw, int dw);
char *oakgtobdf;
char *bdftosnf = BDFTOSNF;
@ -66,16 +66,7 @@ static int put_file_create_err_msg = 0;
#define READ_FAIL 5
int
#if NeedFunctionPrototypes
ReadBdfHeader(
struct btophead *head,
char *buf
)
#else
ReadBdfHeader( head, buf )
struct btophead *head;
char *buf;
#endif
ReadBdfHeader(struct btophead *head, char *buf)
{
char *p;
unsigned int getstat = 0;
@ -128,16 +119,7 @@ char *buf;
int
#if NeedFunctionPrototypes
ReadGpfHeader(
struct ptobhead *head,
char *buf
)
#else
ReadGpfHeader(head, buf)
struct ptobhead *head;
char *buf;
#endif
ReadGpfHeader(struct ptobhead *head, char *buf)
{
char *p;
unsigned int getstat = 0;
@ -173,12 +155,7 @@ char *buf;
int
#if NeedFunctionPrototypes
WriteBdfHeader( struct ptobhead *head )
#else
WriteBdfHeader(head)
struct ptobhead *head;
#endif
{
FILE *fp;
int fd[2];
@ -296,12 +273,7 @@ struct ptobhead *head;
void
#if NeedFunctionPrototypes
WriteGpfHeader( struct btophead *head )
#else
WriteGpfHeader(head)
struct btophead *head;
#endif
{
fprintf(head->output, "numfonts:%d\n", head->num_chars);
fprintf(head->output, "width:%d\n", head->p_width );
@ -312,12 +284,7 @@ struct btophead *head;
int
#if NeedFunctionPrototypes
WritePtnToBdf( struct ptobhead *head )
#else
WritePtnToBdf(head)
struct ptobhead *head;
#endif
{
int msize, swidth, rtn, i, nchar;
char *zoomptn;
@ -376,12 +343,7 @@ struct ptobhead *head;
int
#if NeedFunctionPrototypes
putDefaultChars( struct ptobhead *head )
#else
putDefaultChars(head )
struct ptobhead *head;
#endif
{
int swidth, bytew, i, j;
unsigned int posbit ;
@ -408,12 +370,7 @@ struct ptobhead *head;
int
#if NeedFunctionPrototypes
WritePtnToGpf( struct btophead *head )
#else
WritePtnToGpf(head)
struct btophead *head;
#endif
{
int msize, rtn, i;
char *zoomptn;
@ -456,16 +413,7 @@ struct btophead *head;
int
#if NeedFunctionPrototypes
ReadBdfToMemory(
struct btophead *head,
char *buf
)
#else
ReadBdfToMemory(head, buf)
struct btophead *head;
char *buf;
#endif
ReadBdfToMemory(struct btophead *head, char *buf)
{
int code, mwidth, num_char, bsize, rtn;
char *ptn;
@ -502,20 +450,11 @@ char *buf;
int
#if NeedFunctionPrototypes
ReadBdfToMemory_with_init(
struct btophead *head,
int init_start,
int init_end,
char *buf
)
#else
ReadBdfToMemory_with_init(head, init_start, init_end, buf)
struct btophead *head;
int init_start;
int init_end;
char *buf;
#endif
int init_start,
int init_end,
char *buf)
{
int code, mwidth, num_char, bsize, rtn;
char *ptn;
@ -555,18 +494,11 @@ char *buf;
int
#if NeedFunctionPrototypes
GetBdfCode(
struct btophead *head,
char *buf,
int *code
)
#else
GetBdfCode(head, buf, code)
struct btophead *head;
char *buf;
int *code;
#endif
{
char *p;
@ -590,24 +522,13 @@ int *code;
return(0);
}
int
#if NeedFunctionPrototypes
GetBdfPtn(
struct btophead *head,
char *buf,
char *ptn,
int mwidth,
int bsize
)
#else
GetBdfPtn(head, buf, ptn, mwidth, bsize)
struct btophead *head;
char *buf;
char *ptn;
int mwidth;
int bsize;
#endif
int bsize)
{
int skip, i, j;
char *p;
@ -654,16 +575,7 @@ int bsize;
int
#if NeedFunctionPrototypes
ReadGpfToMemory(
struct ptobhead *head,
char *buf
)
#else
ReadGpfToMemory(head, buf)
struct ptobhead *head;
char *buf;
#endif
ReadGpfToMemory(struct ptobhead *head, char *buf)
{
int code, mwidth, num_char, bsize, rtn;
char *ptn;
@ -700,18 +612,7 @@ char *buf;
int
#if NeedFunctionPrototypes
GetGpfCode(
struct ptobhead *head,
char *buf,
int *code
)
#else
GetGpfCode(head, buf, code)
struct ptobhead *head;
char *buf;
int *code;
#endif
GetGpfCode(struct ptobhead *head, char *buf, int *code)
{
char *p;
@ -735,9 +636,7 @@ int *code;
return(0);
}
int
#if NeedFunctionPrototypes
GetGpfPtn(
struct ptobhead *head,
char *buf,
@ -745,14 +644,6 @@ GetGpfPtn(
int mwidth,
int bsize
)
#else
GetGpfPtn(head, buf, ptn, mwidth, bsize)
struct ptobhead *head;
char *buf;
char *ptn;
int mwidth;
int bsize;
#endif
{
int skip, i, j;
char *p;
@ -788,18 +679,7 @@ int bsize;
void
#if NeedFunctionPrototypes
GetBdfLinePtn(
char *mem,
char *buf,
int width
)
#else
GetBdfLinePtn(mem, buf, width)
char *mem;
char *buf;
int width;
#endif
GetBdfLinePtn(char *mem, char *buf, int width)
{
int i, iend, len;
char *p, str[3];
@ -831,18 +711,7 @@ int width;
}
void
#if NeedFunctionPrototypes
GetGpfLinePtn(
char *mem,
char *buf,
int width
)
#else
GetGpfLinePtn(mem, buf, width)
char *mem;
char *buf;
int width;
#endif
GetGpfLinePtn(char *mem, char *buf, int width)
{
unsigned int skip, i, iend, j;
unsigned char ptn;
@ -876,20 +745,7 @@ int width;
int
#if NeedFunctionPrototypes
PutBdfPtn(
unsigned char *ptn,
int width,
int height,
FILE *fp
)
#else
PutBdfPtn(ptn, width, height, fp)
unsigned char *ptn;
int width;
int height;
FILE *fp;
#endif
PutBdfPtn(unsigned char *ptn, int width, int height, FILE *fp)
{
int i, j, nbyte ;
unsigned char *pbuf, x, c;
@ -920,24 +776,8 @@ FILE *fp;
return(0);
}
int
#if NeedFunctionPrototypes
PutGpfPtn(
char *ptn,
int width,
int height,
FILE *fp
)
#else
PutGpfPtn(ptn, width, height, fp)
char *ptn;
int width;
int height;
FILE *fp;
#endif
PutGpfPtn(char *ptn, int width, int height, FILE *fp)
{
int i, j, k, nbyte, tw;
unsigned char p, *pbuf;
@ -974,24 +814,7 @@ FILE *fp;
int
#if NeedFunctionPrototypes
PtnZoom(
char *dmem,
char *smem,
int sw,
int sh,
int dw,
int dh
)
#else
PtnZoom(dmem, smem, sw, sh, dw, dh)
char *dmem;
char *smem;
int sw;
int sh;
int dw;
int dh;
#endif
PtnZoom(char *dmem, char *smem, int sw, int sh, int dw, int dh)
{
int swidth;
int dwidth;
@ -1031,11 +854,7 @@ int dh;
static void
exline(sp, dbuf, sw, dw)
char *sp;
char *dbuf;
int sw;
int dw;
exline(char *sp, char *dbuf, int sw, int dw)
{
unsigned int i, bit, sval, dval, dcnt, bcnt;
@ -1065,12 +884,7 @@ int dw;
char *
#if NeedFunctionPrototypes
GetTmpPath( char *path )
#else
GetTmpPath( path )
char *path;
#endif
{
char *p=NULL, *sp, *buf ;
int len ;
@ -1097,18 +911,12 @@ char *path;
if( *sp == '/' ) *sp-- = '\0' ;
sprintf( sp+1, "/%s", TEMPFILEKEY ) ;
/* Get temporary file name */
return mktemp( buf ) ;
return mkstemp( buf );
}
int
#if NeedFunctionPrototypes
Link_NewFile( char *rd_file, char *wr_file )
#else
Link_NewFile( rd_file, wr_file )
char *rd_file ;
char *wr_file ;
#endif
{
FILE *rfp, *wfp ;
int i, c ;
@ -1187,12 +995,7 @@ char *wr_file ;
int
#if NeedFunctionPrototypes
ChkNumString( char *str )
#else
ChkNumString( str )
char *str;
#endif
ChkNumString( char *str )
{
char *tmp;
int num;
@ -1209,7 +1012,6 @@ char *str;
void
#if NeedFunctionPrototypes
ErrMsgTable_AndExit(
int er_no,
char *snf_in,
@ -1219,16 +1021,6 @@ ErrMsgTable_AndExit(
char *bdf_in,
char *prog_name
)
#else
ErrMsgTable_AndExit(er_no, snf_in, snf_out, gpf_in, gpf_out, bdf_in, prog_name)
int er_no;
char *snf_in;
char *snf_out;
char *gpf_in;
char *gpf_out;
char *bdf_in;
char *prog_name ;
#endif
{
int rtn = 0 ;
switch(er_no) {
@ -1305,16 +1097,7 @@ char *prog_name ;
void
#if NeedFunctionPrototypes
fatal_err_msg(
int er_no,
char *prog_name
)
#else
fatal_err_msg( er_no, prog_name )
int er_no;
char *prog_name;
#endif
fatal_err_msg(int er_no, char *prog_name)
{
USAGE1("%s : The font file failed to be converted. ", prog_name);
switch( er_no ) {
@ -1371,13 +1154,12 @@ static int sig_flg=0;
#define CATCH_SIGNAL 10
void
ChatchSig()
ChatchSig(void)
{
sig_flg = 1;
}
void
#if NeedFunctionPrototypes
Put_File_Create_Err_Msg(
int msg_level,
char *org_name,
@ -1385,14 +1167,6 @@ Put_File_Create_Err_Msg(
char *save_name,
char *com
)
#else
Put_File_Create_Err_Msg( msg_level, org_name, tmp_name, save_name, com )
int msg_level;
char *org_name;
char *tmp_name;
char *save_name;
char *com;
#endif
{
switch( msg_level ) {
case GPF_BUCK_UP_FAIL:
@ -1419,7 +1193,6 @@ char *com;
}
int
#if NeedFunctionPrototypes
Make_NewFefFile(
char *org_name,
char *tmp_name,
@ -1428,15 +1201,6 @@ Make_NewFefFile(
gid_t group,
char *com
)
#else
Make_NewFefFile( org_name, tmp_name, mode, owner, group, com )
char *org_name;
char *tmp_name;
mode_t mode;
uid_t owner;
gid_t group;
char *com;
#endif
{
struct stat statbuf;
char *save_name = NULL;
@ -1503,16 +1267,7 @@ char *com;
int
#if NeedFunctionPrototypes
Unlink_Tmpfile(
char *file,
char *com
)
#else
Unlink_Tmpfile( file, com )
char *file;
char *com;
#endif
Unlink_Tmpfile(char *file,char *com)
{
errno = 0;
if ( unlink( file ) != 0 ) {
@ -1524,18 +1279,7 @@ char *com;
int
#if NeedFunctionPrototypes
Chmod_File (
char *fname,
mode_t mode,
char *com
)
#else
Chmod_File ( fname, mode, com )
char *fname;
mode_t mode;
char *com;
#endif
Chmod_File (char *fname, mode_t mode, char *com)
{
errno = 0;
if ( mode == 0 ) return( 0 ) ;
@ -1548,20 +1292,7 @@ char *com;
int
#if NeedFunctionPrototypes
Chown_File (
char *fname,
uid_t owner,
gid_t group,
char *com
)
#else
Chown_File ( fname, owner, group, com )
char *fname;
uid_t owner;
gid_t group;
char *com;
#endif
Chown_File (char *fname, uid_t owner, gid_t group, char *com)
{
errno = 0;
if ( chown (fname, owner, group) != 0) {
@ -1577,12 +1308,7 @@ char *com;
int
#if NeedFunctionPrototypes
ChkPcfFontFile( char *filename )
#else
ChkPcfFontFile( filename )
char *filename;
#endif
ChkPcfFontFile( char *filename )
{
char *suffix;
@ -1599,12 +1325,7 @@ char *filename;
int
#if NeedFunctionPrototypes
ChkSnfFontFile( char *filename )
#else
ChkSnfFontFile( filename )
char *filename;
#endif
ChkSnfFontFile( char *filename )
{
char *suffix;
@ -1621,16 +1342,7 @@ char *filename;
char *
#if NeedFunctionPrototypes
get_cmd_path(
char *path,
char *cmd
)
#else
get_cmd_path( path, cmd )
char *path;
char *cmd;
#endif
get_cmd_path(char *path, char *cmd)
{
char *cmd_path = NULL;
struct stat st;
@ -1673,20 +1385,7 @@ char *cmd;
}
int
#if NeedFunctionPrototypes
SetCmdPath(
char *com ,
char **path ,
char *dflt_path ,
char *cmd
)
#else
SetCmdPath( com, path, dflt_path, cmd )
char *com ;
char **path ;
char *dflt_path ;
char *cmd ;
#endif
SetCmdPath(char *com, char **path, char *dflt_path, char *cmd)
{
struct stat statbuf ;
char *pbuf ;

View file

@ -39,18 +39,18 @@
#include "xoakufont.h"
#include "util.h"
void CBeOblB_aEnd();
void EHeStaT_list();
void CBeScro();
void EHeBulB_eMEv();
void EHeBulB_eExp();
void EHeBulB_dExp();
static void EHStaT_disp();
void CBeOblB_aEnd(Widget widget, caddr_t clientData, caddr_t callData);
void EHeStaT_list(Widget widget, int select, XEvent *e);
void CBeScro(Widget widget, caddr_t clientData, caddr_t callData);
void EHeBulB_eMEv(Widget widget, caddr_t clientData, XEvent *e);
void EHeBulB_eExp(Widget widget, caddr_t clientData, XEvent *e);
void EHeBulB_dExp(Widget widget, caddr_t clientData);
static void EHStaT_disp(Widget widget, int i);
extern Resource resource;
extern int efctPtnNum();
extern char *char_set();
extern int efctPtnNum(void);
extern char *char_set(char *str);
extern char *fullpath;
extern FalFontData fullFontData;
@ -77,16 +77,15 @@ static Widget wgeStaT_form[EDLIST_MAX],
* contents : displays the "User Defined Charactrer editor" window
*/
static Widget CreateEditPtn();
void OpenCB();
void MngPtnCB();
void CpyPtnCB();
void CBeRecB_color();
void CBeRecB_obj();
void CBeOblB_aAdd();
void CBeOblB_rCmd();
void CBeOblB_rCmdp();
void CBeOblB_rCan();
static Widget CreateEditPtn(Widget owner);
void OpenCB(Widget w, XtPointer client_data, XtPointer call_data);
void MngPtnCB(void);
void CpyPtnCB(void);
void CBeRecB_obj(Widget widget, int obj, XmToggleButtonCallbackStruct *call);
void CBeOblB_aAdd(void);
void CBeOblB_rCmd(Widget widget, int proc, caddr_t callData);
void CBeOblB_rCmdp(Widget widget, int proc, caddr_t callData);
void CBeOblB_rCan(Widget widget, caddr_t clientData, caddr_t callData);
/**
@ -95,12 +94,12 @@ void CBeOblB_rCan();
**/
static void
XlfdCB()
XlfdCB(void)
{
Widget dialog;
Arg args[5];
char mess[1024];
int n;
int n = 0;
XmString cs, cs1, cs2;
sprintf(mess, "%s : %s", resource.file_name, fullpath);
@ -114,7 +113,6 @@ XlfdCB()
cs = XmStringConcat(cs2, cs1);
XmStringFree(cs1);
XmStringFree(cs2);
n = 0;
XtSetArg (args[n], XmNtitle, resource.l_xlfd_title); n++;
XtSetArg (args[n], XmNmessageString, cs); n++;
XtSetArg (args[n], XmNdialogStyle, XmDIALOG_MODELESS); n++;
@ -126,7 +124,7 @@ XlfdCB()
}
static void
CodeAreaCB()
CodeAreaCB(void)
{
char mess[256];
char tmp[16];
@ -169,16 +167,13 @@ CodeAreaCB()
}
void
ListSetLabelStr(i, str)
int i;
String str;
ListSetLabelStr(int i, String str)
{
SetLabelString( wgeStaT_list[i], str );
}
void
ListSelectItem(i)
int i;
ListSelectItem(int i)
{
XtVaSetValues( wgeStaT_list[i],
XmNbackground, (XtArgVal) resource.foreground,
@ -188,8 +183,7 @@ int i;
}
void
ListUnselectItem(i)
int i;
ListUnselectItem(int i)
{
XtVaSetValues( wgeStaT_list[i],
XmNbackground, (XtArgVal) resource.background,
@ -199,8 +193,7 @@ int i;
}
void
ListSetGlyphImage( i )
int i ;
ListSetGlyphImage( int i )
{
int code ;
@ -231,9 +224,7 @@ int i ;
/*ARGSUSED*/
static void
EHStaT_disp( widget, i )
Widget widget;
int i; /* widget that have some ivent */
EHStaT_disp( Widget widget, int i /* widget that have some ivent */ )
{
ListSetGlyphImage( i );
}
@ -307,7 +298,7 @@ static ExclusiveItems draw_ex[] = {
static Exclusive DrawEX = EXCLUSIVE( draw_ex );
static void
Unset()
Unset(void)
{
XtSetSensitive(EditBTN.w[0], False);
XtSetSensitive(EditBTN.w[1], False);
@ -322,7 +313,7 @@ Unset()
}
void
SelectSet()
SelectSet(void)
{
XtSetSensitive(EditBTN.w[0], True);
XtSetSensitive(EditBTN.w[1], True);
@ -335,7 +326,7 @@ SelectSet()
}
void
SelectUnset()
SelectUnset(void)
{
XtSetSensitive(EditBTN.w[0], False);
XtSetSensitive(EditBTN.w[1], False);
@ -348,19 +339,19 @@ SelectUnset()
}
void
CopySet()
CopySet(void)
{
XtSetSensitive(EditBTN.w[5], True);
}
void
UndoSet()
UndoSet(void)
{
XtSetSensitive(EditBTN.w[9], True);
}
void
UndoUnset()
UndoUnset(void)
{
XtSetSensitive(EditBTN.w[9], False);
}
@ -371,8 +362,7 @@ UndoUnset()
**/
void
PopupEditPtn(owner)
Widget owner;
PopupEditPtn(Widget owner)
{
if (! editPtnW){
editPtnW = CreateEditPtn(owner);
@ -382,8 +372,7 @@ Widget owner;
}
static Widget
CreateEditPtn(owner)
Widget owner;
CreateEditPtn(Widget owner)
{
int slimax;
int i;
@ -573,8 +562,7 @@ Widget owner;
void
SetCodeString(code)
int code;
SetCodeString(int code)
{
char str[8];
@ -590,7 +578,7 @@ int code;
static void
_create_editptn_after()
_create_editptn_after(void)
{
int slctloc;
static char dashPtn[] = {1,1}; /* Editing pane's border pattern */
@ -667,8 +655,7 @@ _create_editptn_after()
}
void
UpdateMessage(str)
String str;
UpdateMessage(String str)
{
static Boolean nomsg = False;

View file

@ -74,13 +74,12 @@ extern Resource resource ;
FalFontData fullFontData;
void PopupSelectXLFD() ;
static Widget CreateSelectXLFD() ;
void PopupSelectXLFD(Widget top) ;
static Widget CreateSelectXLFD(Widget top) ;
extern void xlfdPopupDialog() ;
extern int GetListsOfItems() ;
extern void xlfdPopupDialog(Widget w);
extern void ReadCB();
extern void ReadCB(Widget w, XtPointer client_data, XtPointer call_data);
Widget xlfdDialog;
@ -122,10 +121,7 @@ static Widget *button4=NULL;
***************************************************************/
static char *
spc(str, ch, count)
char * str;
char ch;
int count;
spc(char *str, char ch, int count)
{
char *p;
p = str + strlen(str);
@ -139,7 +135,7 @@ int count;
return(NULL);
}
static void OpenWindowCB()
static void OpenWindowCB(void)
{
char *str, *p;
XmStringTable st;
@ -175,10 +171,7 @@ static void OpenWindowCB()
/*ARGSUSED*/
static void
OpenCancelCB( widget, clientData, callData )
Widget widget;
caddr_t clientData;
caddr_t callData;
OpenCancelCB(Widget widget, caddr_t clientData, caddr_t callData)
{
extern void ForcePopdownDialog();
if ( !editPtnW ){
@ -192,8 +185,7 @@ caddr_t callData;
* create selection window view
*/
void
PopupSelectXLFD( top )
Widget top ;
PopupSelectXLFD(Widget top)
{
if( xlfdDialog == NULL ){
@ -207,7 +199,7 @@ Widget top ;
static void
create_xlfd()
create_xlfd(void)
{
int mask = FAL_FONT_MASK_DEFINED | FAL_FONT_MASK_UNDEFINED;
FalFontData key;
@ -253,8 +245,7 @@ create_xlfd()
}
static void
udc_call(w)
Widget w;
udc_call(Widget w)
{
XmString label;
char *moji;
@ -283,8 +274,7 @@ Widget w;
}
static void
sty_call(w)
Widget w;
sty_call(Widget w)
{
XmString label;
char *moji;
@ -308,8 +298,7 @@ Widget w;
}
static void
wls_call(w)
Widget w;
wls_call(Widget w)
{
XmString label;
char *moji;
@ -329,8 +318,7 @@ Widget w;
}
static void
hls_call(w)
Widget w;
hls_call(Widget w)
{
XmString label;
char *moji;
@ -350,7 +338,7 @@ Widget w;
}
static void
button_set1()
button_set1(void)
{
int i, j;
int mask = FAL_FONT_MASK_DEFINED | FAL_FONT_MASK_UNDEFINED;
@ -399,7 +387,7 @@ button_set1()
}
static void
button_set2()
button_set2(void)
{
int i, j;
int mask = FAL_FONT_MASK_DEFINED | FAL_FONT_MASK_UNDEFINED;
@ -448,7 +436,7 @@ button_set2()
}
static void
button_set3()
button_set3(void)
{
int i, j;
int mask = FAL_FONT_MASK_DEFINED | FAL_FONT_MASK_UNDEFINED;
@ -497,7 +485,7 @@ button_set3()
}
static void
button_set4()
button_set4(void)
{
int i, j;
int mask = FAL_FONT_MASK_DEFINED | FAL_FONT_MASK_UNDEFINED;
@ -546,9 +534,7 @@ button_set4()
}
void
data_sort(data, count)
int *data;
int count;
data_sort(int *data, int count)
{
int *p1, *p2, tmp, i;
@ -565,7 +551,7 @@ int count;
static void
font_init()
font_init(void)
{
FalFontDataList *fontlist;
FalFontData *f;
@ -704,8 +690,7 @@ font_init()
static Widget
CreateSelectXLFD( top )
Widget top ;
CreateSelectXLFD(Widget top)
{
int n;

View file

@ -41,8 +41,6 @@
#define XLFD_COLUMNS 38
#define KEY_COLUMNS 15
#define PIXELSIZE 7
/*
* put data from resource database
*/

View file

@ -30,10 +30,8 @@
*/
#define substance_source
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <X11/Intrinsic.h>
@ -41,26 +39,11 @@
#include "xoakufont.h"
#include "util.h"
#ifndef NO_MESSAGE_CAT
#ifdef __ultrix
#define _CLIENT_CAT_NAME "dtudcfonted.cat"
#else /* __ultrix */
#define _CLIENT_CAT_NAME "dtudcfonted"
#endif /* __ultrix */
#ifdef _NO_PROTO
extern char *_DtGetMessage();
#else /* _NO_PROTO */
extern char *_DtGetMessage(
char *filename,
int set,
int n,
char *s );
#endif /* _NO_PROTO */
extern char *_DtGetMessage(char *filename, int set, int n, char *s);
#define GETMESSAGE(set, number, string) GetMessage(set, number, string)
static char *
GetMessage(set, number, string)
int set, number;
char *string;
GetMessage(int set, int number, char *string)
{
char *tmp, *ret;
tmp = _DtGetMessage(_CLIENT_CAT_NAME, set, number, string);
@ -68,73 +51,72 @@ char *string;
strcpy(ret, tmp);
return (ret);
}
#else /* NO_MESSAGE_CAT */
#define GETMESSAGE(set, number, string)\
string
#endif /* NO_MESSAGE_CAT */
/****************************************************************
* Widgets *
***************************************************************/
/* Widget toplevel; */
Widget toplevel;
static Widget dnPopW;
Widget wgeScro, editPopW;
static int select_x, select_y, select_w, select_h;
static int r1_x, r1_y, r2_x, r2_y, cut_w, cut_h;
extern Widget xlfdDialog, cpyDialog ;
extern Widget xlfdDialog, cpyDialog;
extern FalFontID font_id;
Pixmap arrow_pix=0;
/*
*
*/
static XtAppContext app; /* application context */
static int edpane_size=0;
void CB_set_wait_msg();
void set_wait_msg();
static void OtherFontSelect();
void drawDelCode();
void drawDelPtn();
static void xeg_init();
static void OtherFontSelect(void);
void drawDelCode(int i);
void drawDelPtn(int i);
static void xeg_init(void);
static void dstrypaneEditPtn();
void chgEdCode();
void chgEdList();
static void chgEdPtn();
static void DrawRectEdPn();
static void DrawBorderEdPn();
static void DrawPointEdPn();
static void DrawDpPn();
static void DrawPointDpPn();
static void musPoint();
static void musLine();
static void musCircle();
static void musRect();
static void musRegionProc();
static void musPasteProc();
static void rubLine();
static void rubBand();
static void rubCircle();
static void resetEditMode();
static void copyPatterns();
extern String MngCodeTfValue();
extern String CpySrcCodeTfValue();
extern String CpyDestCodeTfValue();
char *get_cmd_path() ;
static void dstrypaneEditPtn(void);
void chgEdCode(int code, char mode);
void chgEdList(int statloc, int slctloc, char mode);
static void chgEdPtn(int code);
static void DrawRectEdPn(int x1, int y1, int x2, int y2);
static void DrawBorderEdPn(int x1, int y1, int x2, int y2);
static void DrawPointEdPn(int x, int y, int mode);
static void DrawDpPn(void);
static void DrawPointDpPn(int x, int y, int mode);
static void musPoint(int evtype, int px, int py);
static void musLine(int evtype, int px, int py);
static void musCircle(int evtype, int px, int py);
static void musRect(int proc, int evtype, int px, int py);
static void musRegionProc(int proc, int evtype, int px, int py);
static void musPasteProc(Widget w, XtPointer client_data, XEvent *event);
static void rubLine(int x1, int y1, int x2, int y2);
static void rubBand(int x1, int y1, int x2, int y2);
static void rubCircle(int ox, int oy, int rx, int ry);
static void resetEditMode(unsigned int flag);
static void copyPatterns(FalFontData *fdata,
int s1_code,
int s2_code,
int d1_code,
int proc);
extern String MngCodeTfValue(void);
extern String CpySrcCodeTfValue(void);
extern String CpyDestCodeTfValue(void);
char *get_cmd_path(char *path, char *cmd);
extern FalFontData fullFontData;
extern FalFontData copyFontData;
extern void PopupSelectXLFD();
extern void UpdateMessage();
extern void DispMngErrorMessage();
extern void DispCpyErrorMessage();
static int setRealDelArea();
extern void PopupSelectXLFD(Widget top);
extern void UpdateMessage(String str);
extern void DispMngErrorMessage(String msg);
extern void DispCpyErrorMessage(String msg);
static int setRealDelArea(int *s_ncode,
int *e_ncode,
int *sq_start,
int *sq_end);
/****************************************************************
* parameters *
@ -148,16 +130,16 @@ Resource resource;
* callback routines *
***************************************************************/
static void CancelCB();
static void CancelCB(void);
static void
ExitCB()
ExitCB(void)
{
exit(0);
}
int
efctPtnNum()
efctPtnNum(void)
{
int no;
int sq;
@ -173,9 +155,7 @@ efctPtnNum()
}
void
Error_message(widget, message)
Widget widget;
char *message;
Error_message(Widget widget, char *message)
{
static NoticeButton is_lock[] = {
NBTNARGS( ExitCB, NULL, 'E', True, False ),
@ -193,9 +173,7 @@ char *message;
}
void
Error_message2(widget, message)
Widget widget;
char *message;
Error_message2(Widget widget, char *message)
{
static NoticeButton is_lock[] = {
NBTNARGS( CancelCB, NULL, 'C', True, True )
@ -218,10 +196,7 @@ char *message;
*/
/*ARGSUSED*/
static void
CBmOblB_edit( widget, clientData, callData )
Widget widget;
caddr_t clientData;
caddr_t callData;
CBmOblB_edit( Widget widget, caddr_t clientData, caddr_t callData )
{
int ptn_n;
int ptn_w;
@ -250,7 +225,6 @@ caddr_t callData;
if( xlfdDialog != NULL )
PopdownDialog(xlfdDialog);
/* */
ptnGetInfo( &ptn_n, &ptn_w, &ptn_h );
for( i=0 ; i<ptn_n ; i++ ) {
code = noToCode( ptnSqToNo(i) );
@ -274,15 +248,14 @@ caddr_t callData;
void CBeOblB_aAdd();
void CBeOblB_aAdd(void);
static Boolean do_read = False;
static Boolean do_end = False;
static void CancelCB() { }
static void CancelCB(void) { }
static void ContReadCB(w)
Widget w;
static void ContReadCB(Widget w)
{
FalCloseFont(font_id);
editPtnW = NULL;
@ -290,7 +263,7 @@ Widget w;
PopupSelectXLFD(toplevel);
}
static void SaveReadCB()
static void SaveReadCB(void)
{
CBeOblB_aAdd();
do_read = True;
@ -298,13 +271,13 @@ static void SaveReadCB()
}
static void ContEndCB()
static void ContEndCB(void)
{
FalCloseFont(font_id);
exit(0);
}
static void SaveEndCB()
static void SaveEndCB(void)
{
CBeOblB_aAdd();
do_end = True;
@ -318,10 +291,7 @@ static void SaveEndCB()
/*ARGSUSED*/
static int
QuitEditPtn( widget, clientData, callData )
Widget widget;
caddr_t clientData;
caddr_t callData;
QuitEditPtn( Widget widget, caddr_t clientData, caddr_t callData )
{
resetEditMode( RES_MSG | RES_PROC | RES_SLCT | RES_RSV );
@ -337,10 +307,7 @@ caddr_t callData;
void
OpenCB(w, client_data, call_data)
Widget w;
XtPointer client_data;
XtPointer call_data;
OpenCB(Widget w, XtPointer client_data, XtPointer call_data)
{
static NoticeButton is_save_read_btn1[] = {
NBTNARGS( SaveReadCB, NULL, 'S', True, False ),
@ -384,10 +351,7 @@ XtPointer call_data;
void
ReadCB(w, client_data, call_data)
Widget w;
XtPointer client_data;
XtPointer call_data;
ReadCB(Widget w, XtPointer client_data, XtPointer call_data)
{
if (fullFontData.xlfdname == NULL) {
return;
@ -408,8 +372,7 @@ XtPointer call_data;
*/
static Boolean
WPwriteSNF( restart )
int restart;
WPwriteSNF( int restart )
{
int rc, err;
char str[MG_MAXSIZE];
@ -440,7 +403,7 @@ int restart;
default:
sprintf(str, "%s", resource.me_write_snf);
}
SetString( wgeStaT, str );
UpdateMessage( str );
return( TRUE );
case 0:
edg.flag = 0;
@ -463,7 +426,7 @@ int restart;
else
sprintf( str, "%s(%3d%%)", resource.mg_write_snf , rc-1000 );
SetString( wgeStaT, str );
UpdateMessage( str );
XtAppAddWorkProc( app, (XtWorkProc)WPwriteSNF, (XtPointer)ON );
if( rc == 1101 ){
XSync( xl.display,0 );
@ -479,12 +442,12 @@ int restart;
*/
void
CBeOblB_aAdd()
CBeOblB_aAdd(void)
{
char str[MG_MAXSIZE];
resetEditMode( RES_MSG | RES_PROC | RES_SLCT | RES_RSV );
SetString( wgeStaT, resource.mg_write_snf );
UpdateMessage( resource.mg_write_snf );
if( edg.code != 0 )
ptnAdd( edg.code, edg.ptn );
@ -498,7 +461,7 @@ CBeOblB_aAdd()
return;
}
else{
SetString( wgeStaT, "" );
UpdateMessage( "" );
}
}
@ -509,7 +472,7 @@ CBeOblB_aAdd()
*/
static void
OtherFontSelect()
OtherFontSelect(void)
{
dstrypaneEditPtn();
xeg_init();
@ -523,10 +486,7 @@ OtherFontSelect()
/*ARGSUSED*/
void
CBeOblB_aEnd( widget, clientData, callData )
Widget widget;
caddr_t clientData;
caddr_t callData;
CBeOblB_aEnd( Widget widget, caddr_t clientData, caddr_t callData )
{
static NoticeButton is_save_exit_btn[] = {
NBTNARGS( SaveEndCB, NULL, 'S', True, False ),
@ -558,10 +518,7 @@ caddr_t callData;
/*ARGSUSED*/
void
CBeOblB_rCmd( widget, proc, callData )
Widget widget;
int proc;
caddr_t callData;
CBeOblB_rCmd( Widget widget, int proc, caddr_t callData )
{
extern void SelectUnset();
extern void UndoSet();
@ -600,10 +557,7 @@ caddr_t callData;
/*ARGSUSED*/
void
CBeOblB_rCmdp( widget, proc, callData )
Widget widget;
int proc;
caddr_t callData;
CBeOblB_rCmdp( Widget widget, int proc, caddr_t callData )
{
extern Widget wgeBulB_edit;
extern void CopySet();
@ -655,10 +609,7 @@ caddr_t callData;
/*ARGSUSED*/
void
CBeOblB_rCan( widget, clientData, callData )
Widget widget;
caddr_t clientData;
caddr_t callData;
CBeOblB_rCan( Widget widget, caddr_t clientData, caddr_t callData )
{
extern void UndoUnset();
@ -682,9 +633,7 @@ caddr_t callData;
* contents : get a sequential number of the editor
*/
int
RelToAbsSq( from, cnt)
int from;
int cnt;
RelToAbsSq( int from, int cnt)
{
int i;
int no;
@ -716,9 +665,7 @@ int cnt;
* contents : get a relative number of the system area
*/
int
AbsSqToRel( from, to)
int from;
int to;
AbsSqToRel( int from, int to)
{
int sq;
int cnt;
@ -746,18 +693,13 @@ int to;
}
/*
* contents : be the character list selected
*/
/*ARGSUSED*/
void
EHeStaT_list( widget, select, e )
Widget widget;
int select;
XEvent *e; /* X Event */
EHeStaT_list( Widget widget, int select, XEvent *e )
{
int sq, no;
int code;
@ -773,7 +715,6 @@ XEvent *e; /* X Event */
if( edlist.slctloc == select )
return;
/* */
sq = RelToAbsSq( edlist.sqstart + edlist.statloc, select);
if( (no = ptnSqToNo(sq)) == -1 )
@ -801,10 +742,7 @@ XEvent *e; /* X Event */
/*ARGSUSED*/
void
CBeScro( widget, clientData, callData )
Widget widget;
caddr_t clientData;
caddr_t callData;
CBeScro( Widget widget, caddr_t clientData, caddr_t callData )
{
int newl;
int new_statloc;
@ -836,10 +774,7 @@ caddr_t callData;
/*ARGSUSED*/
void
EHeBulB_eMEv( widget, clientData, e )
Widget widget;
caddr_t clientData;
XEvent *e; /* X Event */
EHeBulB_eMEv( Widget widget, caddr_t clientData, XEvent *e )
{
int px, py;
int downbutton;
@ -945,10 +880,7 @@ XEvent *e; /* X Event */
/*ARGSUSED*/
void
EHeBulB_eExp( widget, clientData, e )
Widget widget;
caddr_t clientData;
XEvent *e; /* X Event */
EHeBulB_eExp( Widget widget, caddr_t clientData, XEvent *e )
{
int x1, y1;
int x2, y2;
@ -975,10 +907,7 @@ XEvent *e; /* X Event */
/*ARGSUSED*/
void
CBeRecB_obj( widget, obj, call)
Widget widget;
int obj;
XmToggleButtonCallbackStruct *call;
CBeRecB_obj( Widget widget, int obj, XmToggleButtonCallbackStruct *call)
{
extern void SelectUnset();
@ -1011,9 +940,7 @@ XmToggleButtonCallbackStruct *call;
/*ARGSUSED*/
void
EHeBulB_dExp( widget, clientData )
Widget widget;
caddr_t clientData;
EHeBulB_dExp( Widget widget, caddr_t clientData )
{
if (xl.display == NULL ){
return;
@ -1027,9 +954,7 @@ caddr_t clientData;
*/
static int
codeAreaSet(s_code,e_code)
int *s_code;
int *e_code;
codeAreaSet(int *s_code, int *e_code)
{
char *str;
char delm;
@ -1065,9 +990,7 @@ int *e_code;
***************************************************************/
Boolean
BeforeMngCheck(s_code, e_code)
int *s_code;
int *e_code;
BeforeMngCheck(int *s_code, int *e_code)
{
if(codeAreaSet(s_code, e_code) == -1) {
DispMngErrorMessage( resource.me_illegal_code );
@ -1077,9 +1000,7 @@ int *e_code;
}
void
DoAddProc(s_code, e_code)
int s_code;
int e_code;
DoAddProc(int s_code, int e_code)
{
int code;
@ -1091,7 +1012,6 @@ int e_code;
resetEditMode( RES_MSG | RES_PROC | RES_SLCT | RES_RSV );
/* */
s_ncode = codeToNo( s_code );
e_ncode = codeToNo( e_code );
mode = OFF;
@ -1102,7 +1022,7 @@ int e_code;
continue;
if (ptnSense(code) == 0) {
if(ptnAdd(code, ptn) != 1) {
SetString( wgeStaT, resource.me_non_memory );
UpdateMessage( resource.me_non_memory );
return;
}
edg.flag = ON;
@ -1111,11 +1031,10 @@ int e_code;
}
}
/* */
if( ptnSense( edg.code ) == 1 ) {
ptnAdd( edg.code, edg.ptn );
}
/* */
if(mode == ON) {
chgEdCode( s_code, mode );
}
@ -1130,9 +1049,7 @@ Widget CreateDelNotice();
void
DoDelProc( s_code, e_code )
int s_code;
int e_code;
DoDelProc( int s_code, int e_code )
{
resetEditMode( RES_MSG | RES_PROC | RES_SLCT | RES_RSV );
@ -1163,9 +1080,7 @@ int e_code;
static int
setRealDelArea(s_ncode, e_ncode, sq_start, sq_end )
int *s_ncode, *e_ncode;
int *sq_start, *sq_end;
setRealDelArea(int *s_ncode, int *e_ncode, int *sq_start, int *sq_end )
{
int ncode;
int flg;
@ -1212,7 +1127,7 @@ int *sq_start, *sq_end;
****************************************************************/
static int
CpySrcCodeCheck()
CpySrcCodeCheck(void)
{
char *str;
char delm;
@ -1244,7 +1159,7 @@ CpySrcCodeCheck()
}
static int
CpyDestCodeCheck()
CpyDestCodeCheck(void)
{
char *str;
@ -1266,8 +1181,7 @@ CpyDestCodeCheck()
}
Boolean
BeforeCpyCheck( proc )
int proc;
BeforeCpyCheck( int proc )
{
int s_ncode, e_ncode;
int r1_code, r2_code;
@ -1321,7 +1235,7 @@ int proc;
}
void
DoCpyProc()
DoCpyProc(void)
{
extern void PopdownCpyPtn();
@ -1452,24 +1366,20 @@ int CodePoint = False;
/*ARGSUSED*/
static void
xerror(d, ev)
Display *d;
register XErrorEvent *ev;
xerror(Display *d, XErrorEvent *ev)
{
fprintf (stderr, "dtudcfonted: warning, error event receieved.\n");
exit(-1);
}
int
main(argc, argv)
int argc;
char *argv[];
main(int argc, char *argv[])
{
static char class_name[] = "Dtudcfonted";
int i;
/* initialize GUI */
toplevel = (Widget)GuiInitialize(&app, class_name, &argc, argv);
toplevel = GuiInitialize(&app, class_name, &argc, argv);
/* get application's resources */
XtGetApplicationResources( toplevel, &resource,
@ -1639,7 +1549,7 @@ char *argv[];
*/
static void
xeg_init()
xeg_init(void)
{
int i;
@ -1718,7 +1628,7 @@ xeg_init()
*/
static void
dstrypaneEditPtn()
dstrypaneEditPtn(void)
{
int i ;
@ -1753,9 +1663,7 @@ dstrypaneEditPtn()
*/
void
chgEdCode( code, mode )
int code;
char mode;
chgEdCode( int code, char mode )
{
int ncode;
int esq;
@ -1809,10 +1717,7 @@ char mode;
*/
void
chgEdList( statloc, slctloc, mode )
int statloc;
int slctloc;
char mode;
chgEdList( int statloc, int slctloc, char mode )
{
int sq;
int i;
@ -1862,8 +1767,7 @@ char mode;
*/
static void
chgEdPtn( code )
int code;
chgEdPtn( int code )
{
extern void SetCodeString();
@ -1906,11 +1810,7 @@ int code;
*/
static void
DrawRectEdPn( x1, y1, x2, y2 )
int x1;
int y1;
int x2;
int y2;
DrawRectEdPn( int x1, int y1, int x2, int y2 )
{
int i, j, wk;
short cx1, cy1, cx2, cy2;
@ -1944,15 +1844,15 @@ int y2;
if( bitRead( edg.ptn, i, j ) != 0 ) {
recOn[nron].x = cx1;
recOn[nron].y = cy1;
recOn[nron].width = (USHORT)(cx2 - cx1);
recOn[nron].height = (USHORT)(cy2 - cy1);
recOn[nron].width = (unsigned short)(cx2 - cx1);
recOn[nron].height = (unsigned short)(cy2 - cy1);
nron++;
}
else {
recOff[nroff].x = cx1;
recOff[nroff].y = cy1;
recOff[nroff].width = (USHORT)(cx2 - cx1);
recOff[nroff].height = (USHORT)(cy2 - cy1);
recOff[nroff].width = (unsigned short)(cx2 - cx1);
recOff[nroff].height = (unsigned short)(cy2 - cy1);
nroff++;
}
}
@ -1969,11 +1869,7 @@ int y2;
*/
static void
DrawBorderEdPn( x1, y1, x2, y2 )
int x1;
int y1;
int x2;
int y2;
DrawBorderEdPn( int x1, int y1, int x2, int y2 )
{
short cx1, cy1;
short cx2, cy2;
@ -2030,10 +1926,7 @@ int y2;
*/
static void
DrawPointEdPn( x, y, mode )
int x;
int y;
int mode;
DrawPointEdPn( int x, int y, int mode )
{
int x1, y1;
int x2, y2;
@ -2063,7 +1956,7 @@ int mode;
*/
static void
DrawDpPn()
DrawDpPn(void)
{
if (xl.display == NULL ){
return;
@ -2084,10 +1977,7 @@ DrawDpPn()
*/
static void
DrawPointDpPn( x, y, mode )
int x;
int y;
int mode;
DrawPointDpPn( int x, int y, int mode )
{
if (xl.display == NULL ){
@ -2116,10 +2006,7 @@ int mode;
*/
static void
musPoint( evtype, px, py )
int evtype;
int px;
int py;
musPoint( int evtype, int px, int py )
{
switch( evtype ) {
case MotionNotify:
@ -2149,10 +2036,7 @@ int py;
*/
static void
musLine( evtype, px, py )
int evtype;
int px;
int py;
musLine( int evtype, int px, int py )
{
int r1_x, r1_y;
int r2_x, r2_y;
@ -2206,10 +2090,7 @@ int py;
*/
static void
musCircle( evtype, px, py )
int evtype;
int px;
int py;
musCircle( int evtype, int px, int py )
{
int r1_x, r1_y;
int r2_x, r2_y;
@ -2265,11 +2146,7 @@ int py;
*/
static void
musRect( proc, evtype, px, py )
int proc;
int evtype;
int px;
int py;
musRect( int proc, int evtype, int px, int py )
{
int r1_x, r1_y;
int r2_x, r2_y;
@ -2338,11 +2215,7 @@ int py;
*/
static void
musRegionProc( proc, evtype, px, py )
int proc;
int evtype;
int px;
int py;
musRegionProc( int proc, int evtype, int px, int py )
{
int rx, ry;
int dpx, dpy, dp;
@ -2407,10 +2280,7 @@ int py;
/*ARGSUSED*/
static void
musPasteProc(w, client_data, event)
Widget w;
XtPointer client_data;
XEvent *event;
musPasteProc(Widget w, XtPointer client_data, XEvent *event)
{
static int ox=0, oy=0;
int rc, tx, ty;
@ -2451,19 +2321,13 @@ XEvent *event;
DrawDpPn();
UndoSet();
break;
defaults:
break;
}
}
static void
rubLine( x1, y1, x2, y2 )
int x1;
int y1;
int x2;
int y2;
rubLine( int x1, int y1, int x2, int y2 )
{
if( x1==x2 && y1==y2 ) return;
@ -2473,11 +2337,7 @@ int y2;
static void
rubBand( x1, y1, x2, y2 )
int x1;
int y1;
int x2;
int y2;
rubBand( int x1, int y1, int x2, int y2 )
{
if( x1==x2 && y1==y2 )
return;
@ -2491,11 +2351,7 @@ int y2;
static void
rubCircle( ox, oy, rx, ry )
int ox;
int oy;
int rx;
int ry;
rubCircle( int ox, int oy, int rx, int ry )
{
unsigned int r;
int x, y;
@ -2518,14 +2374,13 @@ int ry;
static void
resetEditMode( flag )
UINT flag;
resetEditMode( unsigned int flag )
{
int r1_x, r1_y;
int r2_x, r2_y;
if( flag & RES_MSG )
SetString( wgeStaT, "" );
UpdateMessage( "" );
if( flag & RES_PROC )
em.proc = edpane.obj;
@ -2554,12 +2409,12 @@ UINT flag;
/*ARGSUSED*/
static void
copyPatterns( fdata, s1_code, s2_code, d1_code, proc )
FalFontData *fdata;
int s1_code;
int s2_code;
int d1_code;
int proc;
copyPatterns(
FalFontData *fdata,
int s1_code,
int s2_code,
int d1_code,
int proc)
{
int ret;
int d1_ncode, d2_ncode;
@ -2605,7 +2460,7 @@ int proc;
edg.flag = ON;
} else {
if( ptnAdd( code_d, ptn[i_s] ) != 1 ) {
SetString( wgeStaT, resource.me_non_memory );
UpdateMessage( resource.me_non_memory );
break;
}
edlist.nptn++;
@ -2631,5 +2486,5 @@ int proc;
chgEdCode( code_disp, ON );
resetEditMode( (UINT) (RES_MSG | RES_PROC | RES_SLCT | RES_RSV) );
resetEditMode( (unsigned int) (RES_MSG | RES_PROC | RES_SLCT | RES_RSV) );
}

View file

@ -43,8 +43,8 @@
#include "FaLib.h"
extern Widget toplevel;
static void _destroy();
void _unmap();
static void _destroy(Widget w);
void _unmap(void);
extern Resource resource ;
@ -67,19 +67,18 @@ extern Resource resource ;
/*ARGSUSED*/
Widget
CreateCaptionFrame(owner, name, labelstr, type, thickness)
Widget owner;
String name;
String labelstr;
int type;
int thickness;
CreateCaptionFrame(
Widget owner,
String name,
String labelstr,
int type,
int thickness)
{
Widget top, label, frame;
Arg args[20];
int n;
int n = 0;
XmString xmstr;
n = 0;
top = XmCreateForm(owner, "form", args, n);
if (labelstr && *labelstr){
xmstr = XmStringCreateLocalized(labelstr);
@ -120,24 +119,22 @@ int thickness;
*/
Widget
CreatePixButton(owner, name, data)
Widget owner;
String name;
RadioButt *data;
CreatePixButton(
Widget owner,
String name,
RadioButt *data)
{
Arg args[20];
int i, n;
int i, n = 0;
Pixmap mask;
XpmAttributes attr;
Pixmap pix[NUMPIX];
Widget top;
Display *disp;
Window root;
Window root = DefaultRootWindow(disp);
disp = XtDisplay(owner);
root = DefaultRootWindow(disp);
n = 0;
XtSetArg(args[n], XmNborderWidth, 1); n++;
XtSetArg(args[n], XmNradioAlwaysOne, TRUE); n++;
XtSetArg(args[n], XmNradioBehavior, TRUE); n++;
@ -183,8 +180,7 @@ String
#else
XtPointer
#endif
GetTextFieldValue(textf)
TextField *textf;
GetTextFieldValue(TextField *textf)
{
char *s1, *s2, *s3;
if (textf->w2 == NULL) {
@ -210,8 +206,7 @@ TextField *textf;
/*ARGSUSED*/
static void
arrow_change(w, data)
TextField *data;
arrow_change(int w, TextField *data)
{
if (XtIsSensitive(data->w2)) {
XtSetSensitive(data->w2, False);
@ -225,14 +220,13 @@ extern char AreaStr[160];
extern FalFontData fullFontData;
static void
focus(w)
Widget w;
focus(Widget w)
{
focus_widget = w;
}
static void
code_input()
code_input(void)
{
extern void CodeWindow();
CodeWindow(focus_widget, fullFontData.xlfdname, False);
@ -240,16 +234,16 @@ code_input()
/*ARGSUSED*/
void
CreateTextField(owner, name, labelstr, data, maxlength)
Widget owner;
String name;
String labelstr;
TextField *data;
int maxlength;
CreateTextField(
Widget owner,
String name,
String labelstr,
TextField *data,
int maxlength)
{
Widget row, label, arrow, textfield, code;
Arg args[20];
register int n;
int n = 0;
Display *disp;
Window root;
Pixmap mask;
@ -257,7 +251,6 @@ int maxlength;
XmString xms;
extern Pixmap arrow_pix;
n = 0;
XtSetArg(args[n], XmNorientation, (XtArgVal)XmHORIZONTAL); n++;
row = XmCreateRowColumn(owner, "row", args, n);
XtManageChild(row);
@ -318,14 +311,7 @@ int maxlength;
void
#if __STDC__
CreateMenuButtons( Widget owner, Button *buttons, int buttons_cnt )
#else
CreateMenuButtons( owner, buttons, buttons_cnt )
Widget owner;
Button *buttons;
int buttons_cnt;
#endif
{
Arg args[4];
char buf[64];
@ -374,7 +360,7 @@ int buttons_cnt;
}
static Atom
DeleteWindowAtom()
DeleteWindowAtom(void)
{
static Atom delatom = 0;
if (! delatom){
@ -386,26 +372,20 @@ DeleteWindowAtom()
/*ARGSUSED*/
Widget
#if __STDC__
CreateDialogAndButtons( Widget owner, String name,
void (*delcb)(), Button *btns, int btns_cnt, Widget *pop )
#else
CreateDialogAndButtons( owner, name, delcb, btns, btns_cnt, pop )
Widget owner;
String name;
void (*delcb)();
Button *btns;
int btns_cnt;
Widget *pop;
#endif
CreateDialogAndButtons(
Widget owner,
String name,
void (*delcb)(),
Button *btns,
int btns_cnt,
Widget *pop)
{
int n;
int n = 0;
Arg args[32];
Arg arg[8];
Widget rowcol;
XmString cs1, cs2, cs3;
n = 0;
XtSetArg( args[n], XmNautoUnmanage, resource. dia_tm_automng ); n++;
XtSetArg( args[n], XmNmarginWidth, resource.dia_tm_width ); n++;
XtSetArg( args[n], XmNmarginHeight, resource.dia_tm_height ); n++;
@ -474,11 +454,7 @@ Widget *pop;
/* Initialize GUI */
Widget
GuiInitialize(app, class_name, ac, av)
XtAppContext *app;
String class_name;
int *ac;
String av[];
GuiInitialize(XtAppContext *app, String class_name, int *ac, String av[])
{
Widget top;
@ -491,19 +467,18 @@ String av[];
}
Widget
CreateDrawingArea( owner, name, width, height, proc, val )
Widget owner;
String name;
int width;
int height;
void (*proc)();
int val;
CreateDrawingArea(
Widget owner,
String name,
int width,
int height,
void (*proc)(),
int val)
{
int n;
int n = 0;
Arg arg[16];
Widget drawarea;
n = 0;
XtSetArg(arg[n], XmNwidth, width); n++;
XtSetArg(arg[n], XmNheight, height); n++;
XtSetArg(arg[n], XmNresizePolicy, XmRESIZE_NONE); n++;
@ -523,10 +498,7 @@ int val;
#ifndef USE_MACRO
void
AddLeftAttachWidget( w, ref, offset )
Widget w;
Widget ref;
int offset;
AddLeftAttachWidget( Widget w, Widget ref, int offset)
{
XtVaSetValues( w,
XmNleftAttachment, XmATTACH_WIDGET,
@ -536,9 +508,7 @@ int offset;
}
void
AddLeftAttachForm( w, offset )
Widget w;
int offset;
AddLeftAttachForm( Widget w, int offset )
{
XtVaSetValues( w,
XmNleftAttachment, XmATTACH_FORM,
@ -547,10 +517,7 @@ int offset;
}
void
AddTopAttachWidget( w, ref, offset )
Widget w;
Widget ref;
int offset;
AddTopAttachWidget( Widget w, Widget ref, int offset )
{
XtVaSetValues( w,
XmNtopAttachment, XmATTACH_WIDGET,
@ -560,9 +527,7 @@ int offset;
}
void
AddTopAttachForm( w, offset )
Widget w;
int offset;
AddTopAttachForm( Widget w, int offset )
{
XtVaSetValues( w,
XmNtopAttachment, XmATTACH_FORM,
@ -571,10 +536,7 @@ int offset;
}
void
AddRightAttachWidget( w, ref, offset )
Widget w;
Widget ref;
int offset;
AddRightAttachWidget( Widget w, Widget ref, int offset )
{
XtVaSetValues( w,
XmNrightAttachment, XmATTACH_WIDGET,
@ -584,9 +546,7 @@ int offset;
}
void
AddRightAttachForm( w, offset )
Widget w;
int offset;
AddRightAttachForm( Widget w, int offset )
{
XtVaSetValues( w,
XmNrightAttachment, XmATTACH_FORM,
@ -595,9 +555,7 @@ int offset;
}
void
AddBottomAttachForm( w, offset )
Widget w;
int offset;
AddBottomAttachForm( Widget w, int offset )
{
XtVaSetValues( w,
XmNbottomAttachment, XmATTACH_FORM,
@ -607,8 +565,7 @@ int offset;
#endif /* not USE_MACRO */
void
PopupDialog(w)
Widget w;
PopupDialog(Widget w)
{
if (! XtIsManaged(w))
XtManageChild(w);
@ -617,8 +574,7 @@ Widget w;
}
void
PopdownDialog(w)
Widget w;
PopdownDialog(Widget w)
{
if (XtIsManaged(w)){
XtUnmanageChild(w);
@ -626,8 +582,7 @@ Widget w;
}
void
ForcePopdownDialog(w)
Widget w;
ForcePopdownDialog(Widget w)
{
if (XtIsManaged(w)){
XtUnmanageChild(w);
@ -635,23 +590,17 @@ Widget w;
}
void
SetLabelString(w, str)
Widget w;
String str;
SetLabelString(Widget w, String str)
{
XmString cs;
cs = XmStringCreateLocalized(str);
XmString cs = XmStringCreateLocalized(str);
XtVaSetValues( w, XmNlabelString, cs, NULL);
XmStringFree( cs );
}
void
SetFooterString(w, str)
Widget w;
String str;
SetFooterString(Widget w, String str)
{
XmString cs;
cs = XmStringCreateLocalized(str);
XmString cs = XmStringCreateLocalized(str);
XtVaSetValues( w, XmNlabelString, cs, NULL);
XmStringFree( cs );
XmUpdateDisplay(w);
@ -665,10 +614,7 @@ String str;
static Widget notice=NULL;
static void
format_str(st, charcnt , str)
Widget st;
int charcnt ;
char *str;
format_str(Widget st, int charcnt , char *str)
{
int i ;
char *s, *p;
@ -699,15 +645,14 @@ char *str;
XmStringFree(cs);
}
void _unmap()
void _unmap(void)
{
if (notice && XtIsManaged(notice)){
XtUnmanageChild(notice);
}
}
static void _destroy(w)
Widget w;
static void _destroy(Widget w)
{
if (w){
XtDestroyWidget(w);
@ -720,20 +665,19 @@ Widget w;
/*ARGSUSED*/
void
PopupNotice( owner, message, type, button, do_format, title )
Widget owner;
char *message;
unsigned char type;
NButton *button;
Boolean do_format;
String title;
PopupNotice(
Widget owner,
char *message,
unsigned char type,
NButton *button,
Boolean do_format,
String title)
{
Widget label, help, cancel;
int n;
int n = 0;
Arg args[32];
XmString cs1, cs2, cs3;
n = 0;
XtSetArg(args[n], XmNtitle, title ); n++;
XtSetArg(args[n], XmNnoResize, resource.pop_resize ); n++;
XtSetArg(args[n], XmNminimizeButtons, resource.pop_minimize ); n++;
@ -799,9 +743,7 @@ String title;
/*ARGSUSED*/
static void
_layout_centerEH(w, clientdata)
Widget w;
XtPointer clientdata;
_layout_centerEH(Widget w, XtPointer clientdata)
{
Widget *child;
int num;
@ -822,20 +764,19 @@ XtPointer clientdata;
/*ARGSUSED*/
Widget
CreateTemplateDialog( w, message, type, button, title, pop )
Widget w;
char *message;
unsigned char type;
NButton *button;
String title;
Widget *pop;
CreateTemplateDialog(
Widget w,
char *message,
unsigned char type,
NButton *button,
String title,
Widget *pop)
{
int n;
int n = 0;
Arg args[32];
XmString cs, cs1=NULL, cs2=NULL, cs3=NULL;
Widget brtnb;
n = 0;
cs = XmStringCreateLocalized(message);
XtSetArg(args[n], XmNnoResize, resource.temp_resize ); n++;
XtSetArg(args[n], XmNminimizeButtons, resource.temp_minimize ); n++;
@ -884,9 +825,7 @@ Widget *pop;
void
AddDeleteProc(w, delcb)
Widget w;
void (*delcb)();
AddDeleteProc(Widget w, void (*delcb)())
{
Atom del = DeleteWindowAtom();
XmAddWMProtocols( w, &del, 1);
@ -894,38 +833,33 @@ void (*delcb)();
}
void
AddPopupProc(w, popupcb)
Widget w;
void (*popupcb)();
AddPopupProc(Widget w, void (*popupcb)())
{
XtAddCallback(XtParent(w), XmNpopupCallback, popupcb, 0);
}
void
AddDestroyProc(w, destroycb)
Widget w;
void (*destroycb)();
AddDestroyProc(Widget w, void (*destroycb)())
{
XtAddCallback(XtParent(w), XmNdestroyCallback, destroycb, 0);
}
Widget
CreateMenuBarAndFooterMessageForm(owner, name, buttons, bcnt, pop, footer)
Widget owner;
String name;
MButton *buttons;
int bcnt;
Widget *pop;
Widget *footer;
CreateMenuBarAndFooterMessageForm(
Widget owner,
String name,
MButton *buttons,
int bcnt,
Widget *pop,
Widget *footer)
{
Widget menuBar, form;
Widget footerFrame, footerForm, footerLabel, sep, casBtn, baseForm;
XmString cs;
char buf[64];
Arg arg[20];
int n, i;
int i, n = 0;
n = 0;
XtSetArg( arg[n], XmNiconName, name ); n++;
XtSetArg( arg[n], XmNdeleteResponse, XmUNMAP ); n++;
XtSetArg( arg[n], XmNmwmFunctions,
@ -1010,23 +944,18 @@ Widget *footer;
}
Widget
GetMenuWidget( buttons, buttons_num )
MButton *buttons;
int buttons_num;
GetMenuWidget( MButton *buttons, int buttons_num )
{
return(buttons->items[buttons_num].menu);
}
Widget
CreateForm( owner, name )
Widget owner;
String name;
CreateForm( Widget owner, String name )
{
Widget form;
int n;
int n = 0;
Arg arg[8];
n=0;
form = XmCreateForm( owner, name, arg, n );
XtManageChild(form);
return(form);
@ -1034,14 +963,11 @@ String name;
/*ARGSUSED*/
Widget
CreateLabel( owner, name, str )
Widget owner;
String name;
String str;
CreateLabel( Widget owner, String name, String str )
{
Widget label;
Arg arg[2];
int n=0;
int n = 0;
XmString cs = XmStringCreateLocalized(str);
XtSetArg( arg[n], XmNlabelString, cs); n++;
label = XmCreateLabel( owner, "label", arg, n);
@ -1052,17 +978,11 @@ String str;
/*ARGSUSED*/
Widget
CreateFrame(owner, name, type, thickness)
Widget owner;
String name;
XtPointer type;
XtPointer thickness;
CreateFrame(Widget owner, String name, XtPointer type, XtPointer thickness)
{
Widget frame;
Arg args[20];
int n;
n = 0;
int n = 0;
XtSetArg(args[n], XmNresizable, resource.frame_resize ); n++;
XtSetArg(args[n], XmNshadowType, type); n++;
XtSetArg(args[n], XmNshadowThickness , thickness); n++;
@ -1073,19 +993,17 @@ XtPointer thickness;
/*ARGSUSED*/
Widget
CreateRowColumn(owner, name, layout, space, marginw, marginh)
Widget owner;
String name;
int layout;
int space;
int marginw;
int marginh;
CreateRowColumn(
Widget owner,
String name,
int layout,
int space,
int marginw,
int marginh)
{
Widget rc;
Arg args[20];
int n;
n = 0;
int n = 0;
XtSetArg(args[n], XmNorientation, layout); n++;
XtSetArg(args[n], XmNspacing, space); n++;
XtSetArg(args[n], XmNmarginWidth, marginw); n++;
@ -1097,20 +1015,19 @@ int marginh;
/*ARGSUSED*/
Widget
CreateScrollBar( owner, name, height, val, min, max, proc )
Widget owner;
String name;
int height;
int val;
int min;
int max;
void (*proc)();
CreateScrollBar(
Widget owner,
String name,
int height,
int val,
int min,
int max,
void (*proc)())
{
Widget sc;
int n;
int n = 0;
Arg arg[16];
n = 0;
XtSetArg( arg[n], XmNsliderSize, (XtArgVal)val ); n++;
XtSetArg( arg[n], XmNpageIncrement, (XtArgVal)val ); n++;
XtSetArg( arg[n], XmNmaximum, (XtArgVal)max ); n++;
@ -1124,29 +1041,25 @@ void (*proc)();
/*ARGSUSED*/
static void
_scbase_cb( w, proc, calldata )
Widget w;
void (*proc)();
XmScrollBarCallbackStruct *calldata;
_scbase_cb( Widget w, void (*proc)(), XmScrollBarCallbackStruct *calldata )
{
(*proc)(calldata->value);
}
Widget
CreateScrollBase( owner, name, min, max, val, vcnt, sbproc )
Widget owner;
String name;
int min;
int max;
int val;
int vcnt;
void (*sbproc)();
CreateScrollBase(
Widget owner,
String name,
int min,
int max,
int val,
int vcnt,
void (*sbproc)())
{
int n;
int n = 0;
Arg arg[16];
Widget base, frame, rwclm, sc;
n=0;
XtSetArg( arg[n], XmNwidth, resource.scll_fr_width ); n++;
base = XmCreateForm( owner, name, arg, n );
XtManageChild( base );

View file

@ -29,69 +29,9 @@
* This is unpublished proprietary source code of FUJITSU LIMITED
*/
extern Widget GetMenuWidget();
extern Widget CreateFrame();
extern Widget CreateControlArea();
extern Widget CreateScrollBar();
extern Widget CreateDrawingArea();
extern Widget CreateExclusive();
extern Widget CreateLabel();
extern Widget CreateDialogAndButtons();
extern
#ifdef _HPUX_SOURCE
String
#else
XtPointer
#endif
GetTextFieldValue();
extern Widget CreateTemplateDialog();
extern Widget CreateScrollBase();
extern Widget CreateForm();
#include <Xm/Xm.h>
#include <Xm/XmStrDefs.h>
Widget CreateCaptionFrame();
#ifdef _HPUX_SOURCE
String
#else
XtPointer
#endif
GetTextFieldValue();
void CreateTextField();
void CreateButtons();
void CreateMenuButtons();
void LayoutButtonsEH();
Widget CreateLayoutButtons();
Widget CreateDialogAndButtons();
Widget GuiInitialize();
Widget CreateDrawingArea();
void AddTopWidget();
void AddLeftAttachWidget();
void AddLeftAttachForm();
void AddTopAttachWidget();
void AddTopAttachForm();
void AddRightAttachWidget();
void AddRightAttachForm();
void AddBottomAttachForm();
void PopupDialog();
void PopdownDialog();
void ForcePopdownDialog();
void SetLabelString();
void SetFooterString();
void PopupNotice();
void AddDeleteProc();
Widget CreateMenuBarAndFooterMessageForm();
Widget GetMenuWidget();
Widget CreateForm();
Widget CreateLabel();
Widget CreateFrame();
Widget CreateRowColumn();
Widget CreateScrollBar();
#define MarginWidth 4
#define RowMarginWidth 11
#define MarginHeight 11
@ -264,4 +204,131 @@ typedef struct _TextField {
XmNbottomAttachment, XmATTACH_FORM, \
XmNbottomOffset, offset, \
0)
extern Widget GetMenuWidget(MButton *buttons, int buttons_num);
extern Widget CreateFrame(Widget owner,
String name,
XtPointer type,
XtPointer thickness);
extern Widget CreateScrollBar(Widget owner,
String name,
int height,
int val,
int min,
int max,
void (*proc)());
extern Widget CreateDrawingArea(Widget owner,
String name,
int width,
int height,
void (*proc)(),
int val);
extern Widget CreateLabel(Widget owner, String name, String str);
extern Widget CreateDialogAndButtons(Widget owner,
String name,
void (*delcb)(),
Button *btns,
int btns_cnt,
Widget *pop);
extern
#ifdef _HPUX_SOURCE
String
#else
XtPointer
#endif
GetTextFieldValue(TextField *textf);
extern Widget CreateTemplateDialog(Widget w,
char *message,
unsigned char type,
NButton *button,
String title,
Widget *pop);
extern Widget CreateScrollBase(Widget owner,
String name,
int min,
int max,
int val,
int vcnt,
void (*sbproc)());
extern Widget CreateForm(Widget owner, String name);
Widget CreateCaptionFrame(Widget owner,
String name,
String labelstr,
int type,
int thickness);
#ifdef _HPUX_SOURCE
String
#else
XtPointer
#endif
GetTextFieldValue(TextField *textf);
void CreateTextField(Widget owner,
String name,
String labelstr,
TextField *data,
int maxlength);
void CreateMenuButtons(Widget owner, Button *buttons, int buttons_cnt);
Widget CreateDialogAndButtons(Widget owner,
String name,
void (*delcb)(),
Button *btns,
int btns_cnt,
Widget *pop);
Widget GuiInitialize(XtAppContext *app,
String class_name,
int *ac,
String av[]);
Widget CreateDrawingArea(Widget owner,
String name,
int width,
int height,
void (*proc)(),
int val);
void AddLeftAttachWidget(Widget w, Widget ref, int offset);
void AddLeftAttachForm(Widget w, int offset);
void AddTopAttachWidget(Widget w, Widget ref, int offset);
void AddTopAttachForm(Widget w, int offset);
void AddRightAttachWidget(Widget w, Widget ref, int offset);
void AddRightAttachForm(Widget w, int offset);
void AddBottomAttachForm(Widget w, int offset);
void PopupDialog(Widget w);
void PopdownDialog(Widget w);
void ForcePopdownDialog(Widget w);
void SetLabelString(Widget w, String str);
void SetFooterString(Widget w, String str);
void PopupNotice(Widget owner,
char *message,
unsigned char type,
NButton *button,
Boolean do_format,
String title);
void AddDeleteProc(Widget w, void (*delcb)());
Widget CreateMenuBarAndFooterMessageForm(Widget owner,
String name,
MButton *buttons,
int bcnt,
Widget *pop,
Widget *footer);
Widget GetMenuWidget(MButton *buttons, int buttons_num);
Widget CreateForm(Widget owner, String name);
Widget CreateLabel(Widget owner, String name, String str);
Widget CreateFrame(Widget owner,
String name,
XtPointer type,
XtPointer thickness);
Widget CreateRowColumn(Widget owner,
String name,
int layout,
int space,
int marginw,
int marginh);
Widget CreateScrollBar(Widget owner,
String name,
int height,
int val,
int min,
int max,
void (*proc)());
#endif /* USE_MACRO */

View file

@ -30,58 +30,70 @@
*/
#include "fssxeg.h"
extern Widget CreateOblB();
extern Widget CreateOblBG();
extern Widget CreateToglBG();
extern Widget CreateToglB();
extern Widget CreateRecBG();
extern Widget CreateRecB();
extern Widget CreateCapt();
extern Widget CreateCaptG();
extern Widget CreateLabelG();
extern Widget CreateLabel();
extern void SetString();
extern Widget CreateLabel(Widget owner, String name, String str);
extern int readSNF();
extern int writeSNF();
extern int ptnClose();
extern int ptnAdd();
extern int ptnGet();
extern int ptnSense();
extern int ptnDel();
extern int GetInfo();
extern int ptnSqToNo();
extern int ptnNoToSq();
extern int noToCode();
extern int noToCode2();
extern int codeToNo();
extern int codeToNo2();
extern int codeCheck();
extern int codeCheck2();
extern void bitSetInfo();
extern void bitSet();
extern void bitReset();
extern int bitRead();
extern void bitPtnClear();
extern void bitPtnCopy();
extern int bitDrawLine();
extern int bitDrawRect();
extern int bitDrawCls();
extern int bitDrawSet();
extern int bitDrawRev();
extern int bitDrawCpy();
extern int bitDrawMov();
extern int bitDrawRoll();
extern int bitDrawSymV();
extern int bitDrawSymH();
extern int readSNF(FalFontData **fdata,
int *width,
int *height,
char *err);
extern int writeSNF(int restart, int *err);
extern int ptnClose(void);
extern int ptnAdd(int code, char *ptn);
extern int ptnGet(int code, char *ptn);
extern int ptnSense(int code);
extern int ptnDel(int code);
extern int ptnSqToNo(int num);
extern int ptnNoToSq(int ncode);
extern int noToCode(int sno);
extern int codeToNo(int code);
extern int codeCheck(int code);
extern void bitSetInfo(int width, int height);
extern void bitSet(char *ptn, int cx, int cy);
extern void bitReset(char *ptn, int cx, int cy);
extern int bitRead(char *ptn, int cx, int cy);
extern void bitPtnClear(char *ptn);
extern void bitPtnCopy(char *d_ptn, char *s_ptn);
extern int bitDrawLine(char *ptn,
int x1,
int y1,
int x2,
int y2,
int mode);
extern int bitDrawRect(char *ptn,
int x,
int y,
int width,
int height,
int mode);
extern int bitDrawCls(char *ptn,
int x,
int y,
int width,
int height);
extern int bitDrawSet(char *ptn,
int x,
int y,
int width,
int height);
extern int bitDrawRev(char *ptn,
int x,
int y,
int width,
int height);
extern int bitDrawCpy(char *ptn,
int sx,
int sy,
int width,
int height,
int cut_flag);
extern int bitDrawRoll(char *ptn, int x, int y, int width, int height);
extern int bitDrawSymV(char *ptn, int x, int y, int width, int height);
extern int bitDrawSymH(char *ptn, int x, int y, int width, int height);
#define D_MAX 10
#define SetString(w,s) UpdateMessage((s))
#define PROC_POINT 0
#define PROC_LINE 1
#define PROC_RECT 2
@ -123,20 +135,9 @@ extern int bitDrawSymH();
#define SET_SYSTEM 5
#define MG_MAXSIZE 100
#ifdef DEBUG
#define Dprintf2 printf
#define Dprintf printf
#else
#define Dprintf2
#define Dprintf
#endif
/**********************************************************************
structure
**********************************************************************/
@ -254,58 +255,23 @@ typedef struct _FontInf {
**********************************************************************/
#ifdef substance_source
#define ex
#define I(x) =(x)
#else
#define ex extern
#define I(x)
#endif /* substance_source */
Widget toplevel;
ex Widget toplevel I(NULL);
Widget editPtnW;
Widget cpyPtnW;
Widget mngPtnW;
ex Widget editPtnW I(NULL);
ex Widget cpyPtnW I(NULL);
ex Widget mngPtnW I(NULL);
EditChar edg;
EditList edlist;
EditPane edpane;
XlibInf xl;
DelInf dn;
DelPtnInf dl[D_MAX] ;
DelPtnInf dl_glyph[EDLIST_MAX]; /* add dl_disp 1995.09.20 */
int sq_disp[EDLIST_MAX]; /* add sq_disp 1995.09.20 */
ex EditChar edg
#ifdef substance_source
={ 0,0,0,0,0,0,0, OFF }
#endif /* substance_source */
;
ex EditList edlist
#ifdef substance_source
={ EDLIST_MAX, 0,0,0,0,0,0,0,0,0 }
#endif /* substance_source */
;
EditPane edpane
#ifdef substance_source
={ EDPANE_SIZE, EDPANE_SIZE, 0,0,0,0,0,0 }
#endif /* substance_source */
;
ex XlibInf xl;
ex DelInf dn
#ifdef substance_source
={ 0,0,0,0,0,0,0,0,0,0,0 }
#endif /* substance_source */
;
ex DelPtnInf dl[D_MAX] ;
ex DelPtnInf dl_glyph[EDLIST_MAX] ; /* add dl_disp 1995.09.20 */
ex int sq_disp[EDLIST_MAX] ; /* add sq_disp 1995.09.20 */
ex EditPtnInf em
#ifdef substance_source
={ OFF,0,0,0,0,0,0,0,0,0,0,0,0,0 }
#endif /* substance_source */
;
ex CopyPtnInf cpm
#ifdef substance_source
={ 0,0,0,0,0 }
#endif /* substance_source */
;
#undef ex
#undef I
EditPtnInf em;
CopyPtnInf cpm;
/*
@ -314,91 +280,4 @@ ex CopyPtnInf cpm
#include"ufontrsrc.h" /* 1995.06.28 H.Chiba */
/*Resource resource; del 1995.05.30 H.Chiba BSC */
#ifdef substance_source /* add 1995.06.29 H.Chiba -> */
/* CreateCaptionFrame() */
Boolean capt_resize = True ; /* resizable: */
int capt_lftoff = 2 ; /* leftOffset: */
int capt_topoff = 2 ; /* topOffset: */
int capt_rghoff = 2 ; /* rightOffset: */
Pixel pane_background;
Pixel pane_foreground;
/* CreateMenuButtons() */
Dimension menu_margin = 0 ; /* margin: */
/* CreateDialogAndButtons() */
Boolean dia_tm_automng = False ; /* autoUnmanage: */
Dimension dia_tm_width = 4 ; /* marginWidth: */
Dimension dia_tm_height = 4 ; /* marginHeight: */
Boolean dia_tm_resize = True ; /* noResize: */
Boolean dia_tm_minimize = True ; /* minimizeButtons: */
Dimension dia_rw_width = 6 ; /* marginWidth: */
Dimension dia_rw_height = 6 ; /* marginHeight: */
Dimension dia_rw_spacing = 4 ; /* spacing: */
/* CreateDrawingArea() */
Dimension draw_border = 1 ; /* borderWidth: */
int draw_topoff = 2 ; /* topOffset: */
int draw_lftoff = 2 ; /* leftOffset: */
/* PopupNotice() */
Boolean pop_resize = True ; /* noResize: */
Boolean pop_minimize = True ; /* minimizeButtons: */
/* CreateTemplateDialog() */
Boolean temp_resize = True ; /* noResize: */
Boolean temp_minimize = True ; /* minimizeButtons: */
Dimension temp_width = 1 ; /* width: */
Dimension temp_height = 1 ; /* height: */
/* CreateMenuBarAndFooterMessageForm() */
#if 0
ed_functions = ( MWM_FUNC_MOVE | MWM_FUNC_MINIMIZE | MWM_FUNC_CLOSE ) ;/* mwmFunctions: */
#endif
int ed_bar_topoff = 1 ; /* topOffset: */
int ed_bar_lftoff = 1 ; /* leftOffset: */
int ed_bar_rghoff = 1 ; /* rightOffset: */
int ed_frm_btmoff = 3 ; /* bottomOffset: */
int ed_frm_lftoff = 3 ; /* leftOffset: */
int ed_frm_rghoff = 3 ; /* rightOffset: */
Dimension ed_msg_margintop = 3 ; /* marginTop: */
Dimension ed_msg_marginbtm = 3 ; /* marginBottom: */
Dimension ed_mesg_margintop = 3 ; /* marginTop: */
Dimension ed_mesg_marginbtm = 3 ; /* marginBottom: */
int ed_sep_btmoff = 3 ; /* bottomOffset: */
int ed_sep_lftoff = 0 ; /* leftOffset: */
int ed_sep_rghoff = 0 ; /* rightOffset: */
Dimension ed_sep_margin = 0 ; /* margin: */
int ed_wge_topoff = 10 ; /* topOffset: */
int ed_wge_lftoff = 10 ; /* leftOffset: */
int ed_wge_rghoff = 10 ; /* rightOffset: */
int ed_wge_btmoff = 10 ; /* bottomOffset: */
/* CreateFrame() */
Boolean frame_resize = False ; /* resizable: */
/* CreateScrollBase() */
Dimension scll_fr_width = 500 ; /* width: */
Dimension scll_fr_thick = 2 ; /* shadowThickness: */
int scll_bar_lftoff = 4 ; /* leftOffset: */
#endif /* substance_source */ /* -> add 1995.06.29 H.Chiba */
/**********/

View file

@ -54,7 +54,7 @@
/*
* parameters
*/
void xlfdPopupDialog() ;
void xlfdPopupDialog(Widget w);
extern int getmask ;
@ -73,8 +73,7 @@ extern Widget slctBLabel[BUTTONITEMS],
*/
void
xlfdPopupDialog(w)
Widget w;
xlfdPopupDialog(Widget w)
{
if (! XtIsManaged(w))
XtManageChild(w);