[stsf-commit] stsf/STFontServer/src debugscaler.c, 1.1, 1.2 fontserver.c, 1.7, 1.8 saverestore.c, 1.6, 1.7

Alan Coopersmith stsf-commit at pdx.freedesktop.org
Mon Feb 28 19:15:08 PST 2005


Committed by: alanc


Index: debugscaler.c
===================================================================
RCS file: /cvs/stsf/stsf/STFontServer/src/debugscaler.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- debugscaler.c	2 Jul 2004 05:00:13 -0000	1.1
+++ debugscaler.c	1 Mar 2005 03:15:05 -0000	1.2
@@ -136,9 +136,9 @@
 {
     STCount i, n;
     STFont *fontarray;
-    TMatrix matrix = {FLOAT_TO_F16DOT16(14.0), 0, 0, FLOAT_TO_F16DOT16(14.0)};
-    uint16_t xres = 72, yres = 72;
-    FSRenderFlags flags = FS_RF_HINTS | FS_RF_BLACKANDWHITE; 
+    TMatrix matrix = {FLOAT_TO_F16DOT16(10.0), 0, 0, FLOAT_TO_F16DOT16(10.0)};
+    uint16_t xres = 98, yres = 98;
+    FSRenderFlags flags = FS_RF_GREYSCALE | FS_RF_EMBOLDENBITMAPS ;
 
     n = FontEnumeratorFindFontsForURL(fe, url, &fontarray);
 
@@ -157,16 +157,42 @@
     printf("created instance: %d\n", instanceID);
 
 }
+
+void renderglyph(STGlyph glyphID, FSFontInstanceRecord *fi, FSFontRecord *font)
+{
+    ScaledGlyphData metrics;
+    uint32_t buffersize = BUFSIZE;
+    
+    glue.RenderGlyph(fi, font, glyphID, 0, &metrics, &buffersize, buffer);
+    printf("glyph: %d\n\n", glyphID);
+    printglyph(buffer, metrics.width, metrics.height, metrics.bytesPerRow , 8, 255);
+    printf("\n");
+}
+
     
 
 void rendertest(void)
 {
     STGlyph glyphID;
     uint16_t fracdelta;
-    ScaledGlyphData metrics;
+    // ScaledGlyphData metrics;
     FSFontInstanceRecord *fi = FontManagerInstanceForID(fm, instanceID);
     FSFontRecord *font = FontEnumeratorGetFontRecord(fe, fontID);
-    uint32_t buffersize = BUFSIZE;
+    // uint32_t buffersize = BUFSIZE;
+
+#if 0
+    renderglyph(18872, fi, font);
+    renderglyph(18942, fi, font);
+
+     return;
+#endif
+
+    for (glyphID = 0; glyphID < 255; glyphID++) {
+        renderglyph(glyphID, fi, font);
+    }
+
+
+#if 0
 
     for (glyphID = 0; glyphID < 255; glyphID++) {
         glue.RenderGlyph(fi, font, glyphID, 0, &metrics, &buffersize, buffer);
@@ -174,6 +200,7 @@
         printglyph(buffer, metrics.width, metrics.height, metrics.bytesPerRow , 1, 0);
         printf("\n");
     }
+#endif
 }
 
 

Index: fontserver.c
===================================================================
RCS file: /cvs/stsf/stsf/STFontServer/src/fontserver.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- fontserver.c	2 Jul 2004 05:00:13 -0000	1.7
+++ fontserver.c	1 Mar 2005 03:15:05 -0000	1.8
@@ -891,7 +891,12 @@
    if (cid == 0 || cid == 0xFFFFFFFF)   return ST_PROTECTION;
    if (iURLCount <= 0)                  return ST_COUNT;
 
-   if ((stat(STSF_TEMPFONTDIR, &st) == -1) && CreateDir(STSF_TEMPFONTDIR, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)) { 
+   if (lstat(STSF_TEMPFONTDIR, &st) == -1) {
+       if (CreateDir(STSF_TEMPFONTDIR, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)) { 
+	   ErrorStr("Error creating STSF temporary font directory: %s.", STSF_TEMPFONTDIR);
+	   return ST_FILEIO;
+       }
+   } else if (!S_ISDIR(st.st_mode)) {
        ErrorStr("Error creating STSF temporary font directory: %s.", STSF_TEMPFONTDIR);
        return ST_FILEIO;
    }
@@ -982,7 +987,12 @@
    if (cid == 0 || cid == 0xFFFFFFFF)   return ST_PROTECTION;
    if (iDataCount <= 0)                 return ST_COUNT;
 
-   if ((stat(STSF_TEMPFONTDIR, &st) == -1) && CreateDir(STSF_TEMPFONTDIR, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)) {  
+   if (lstat(STSF_TEMPFONTDIR, &st) == -1) {
+       if (CreateDir(STSF_TEMPFONTDIR, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)) {  
+	   ErrorStr("Error creating STSF temporary font directory: %s.", STSF_TEMPFONTDIR);
+	   return ST_FILEIO;
+       }
+   } else if (!S_ISDIR(st.st_mode)) {
        ErrorStr("Error creating STSF temporary font directory: %s.", STSF_TEMPFONTDIR);
        return ST_FILEIO;
    }

Index: saverestore.c
===================================================================
RCS file: /cvs/stsf/stsf/STFontServer/src/saverestore.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- saverestore.c	2 Jul 2004 05:00:13 -0000	1.6
+++ saverestore.c	1 Mar 2005 03:15:05 -0000	1.7
@@ -2697,8 +2697,8 @@
     DebugStr(0, "header: %d, sfontarray: %d, sbfontarray: %d, total: %d",
              header, sfontarray, sbfontarray, s);
 
-    if (stat(filename, &st) == 0) {             /* XXX need to replace with FileType() */
-        if (unlink(filename) != 0) {
+    if (lstat(filename, &st) == 0) {             /* XXX need to replace with FileType() */
+        if (remove(filename) != 0) {
             ErrorStr("SaveFontEnumerator: Error deleting %s.", filename);
             return ST_FILEIO;
         }
@@ -2711,7 +2711,7 @@
             
             if (ft != ST_FILETYPE_DIRECTORY) {
                 if (ft != ST_FILETYPE_DOESNOTEXIST) {
-                    unlink(dirname);
+                    remove(dirname);
                 }
                 if (CreateDir(dirname, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)) {   
                     free(dirname);
@@ -2807,7 +2807,7 @@
     STStatus ret;
     int fd;
 
-    if (stat(filename, &st) != 0) {
+    if (lstat(filename, &st) != 0) {
         ErrorStr("%s: file not found %s.", __func__, filename);
         return ST_FILEIO;
     }
@@ -2940,7 +2940,7 @@
     *update = 0;
     *size = 0;
 
-    if (stat(filename, &st) != 0) {
+    if (lstat(filename, &st) != 0) {
         ErrorStr("%s: file not found %s.", __func__, filename);
         return ST_FILEIO;
     }



More information about the stsf-commit mailing list