[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