Break and rename, in the layout of old HarfBuzz codebase
authorBehdad Esfahbod <behdad@behdad.org>
Thu, 28 Dec 2006 11:10:59 +0000 (06:10 -0500)
committerBehdad Esfahbod <behdad@behdad.org>
Thu, 28 Dec 2006 11:10:59 +0000 (06:10 -0500)
src/.gitignore [new file with mode: 0644]
src/Makefile
src/harfbuzz-common.h [new file with mode: 0644]
src/harfbuzz-open-private.h [moved from src/harfbuzz-ng.cc with 85% similarity]
src/harfbuzz-open.h [new file with mode: 0644]
src/main.cc [new file with mode: 0644]

diff --git a/src/.gitignore b/src/.gitignore
new file mode 100644 (file)
index 0000000..ba2906d
--- /dev/null
@@ -0,0 +1 @@
+main
index 55bc4e8..f5e9ac2 100644 (file)
@@ -1,3 +1,3 @@
-all: harfbuzz-ng
+all: main
 
 CXXFLAGS = -Wall -Wextra  `pkg-config --cflags --libs glib-2.0`
diff --git a/src/harfbuzz-common.h b/src/harfbuzz-common.h
new file mode 100644 (file)
index 0000000..b11539f
--- /dev/null
@@ -0,0 +1,14 @@
+#ifndef HARFBUZZ_COMMON_H
+#define HARFBUZZ_COMMON_H
+
+#include <stdint.h>
+
+# ifdef __cplusplus
+#  define HARFBUZZ_BEGIN_DECLS() extern "C" { extern int harfbuzz_dummy_prototype (int)
+#  define HARFBUZZ_END_DECLS() } extern "C" int harfbuzz_dummy_prototype (int)
+# else /* !__cplusplus */
+#  define HARFBUZZ_BEGIN_DECLS()   extern int harfbuzz_dummy_prototype (int)
+#  define HARFBUZZ_END_DECLS()     extern int harfbuzz_dummy_prototype (int)
+# endif /* !__cplusplus */
+
+#endif /* HARFBUZZ_COMMON_H */
similarity index 85%
rename from src/harfbuzz-ng.cc
rename to src/harfbuzz-open-private.h
index d23021f..041d2eb 100644 (file)
@@ -1,15 +1,12 @@
+#ifndef HARFBUZZ_OPEN_PRIVATE_H
+#define HARFBUZZ_OPEN_PRIVATE_H
+
+#include "harfbuzz-open.h"
+
 #include <stdint.h>
 #include <assert.h>
 #include <glib.h>
 
-/* Public header */
-
-typedef uint32_t hb_tag_t;
-#define HB_TAG(a,b,c,d) ((hb_tag_t)(((uint8_t)a<<24)|((uint8_t)b<<16)|((uint8_t)c<<8)|(uint8_t)d))
-
-
-/* Implementation */
-
 /* Macros to convert to/from BigEndian */
 #define hb_be_uint8_t
 #define hb_be_int8_t
@@ -697,106 +694,4 @@ struct GSUBGPOSHeader {
                                 * GSUB table */
 };
 
-struct GSUB : GSUBGPOSHeader {
-};
-
-struct GPOS : GSUBGPOSHeader {
-};
-
-
-#include <stdlib.h>
-#include <stdio.h>
-
-int
-main (int argc, char **argv)
-{
-  if (argc != 2) {
-    fprintf (stderr, "usage: %s font-file.ttf\n", argv[0]);
-    exit (1);
-  }
-
-  GMappedFile *mf = g_mapped_file_new (argv[1], FALSE, NULL);
-  const char *font_data = g_mapped_file_get_contents (mf);
-  int len = g_mapped_file_get_length (mf);
-  
-  printf ("Opened font file %s: %d bytes long\n", argv[1], len);
-  
-  const OpenTypeFontFile &ot = OpenTypeFontFile::get (font_data);
-
-  switch (ot.tag) {
-  case OpenTypeFontFile::TrueTypeTag:
-    printf ("OpenType font with TrueType outlines\n");
-    break;
-  case OpenTypeFontFile::CFFTag:
-    printf ("OpenType font with CFF (Type1) outlines\n");
-    break;
-  case OpenTypeFontFile::TTCTag:
-    printf ("TrueType Collection of OpenType fonts\n");
-    break;
-  default:
-    printf ("Unknown font format\n");
-    break;
-  }
-
-  int num_fonts = ot.get_len ();
-  printf ("%d font(s) found in file\n", num_fonts);
-  for (int n_font = 0; n_font < num_fonts; n_font++) {
-    const OpenTypeFontFace &font = ot[n_font];
-    printf ("Font %d of %d:\n", n_font+1, num_fonts);
-
-    int num_tables = font.get_len ();
-    printf ("  %d table(s) found in font\n", num_tables);
-    for (int n_table = 0; n_table < num_tables; n_table++) {
-      const OpenTypeTable &table = font[n_table];
-      printf ("  Table %2d of %2d: %.4s (0x%06x+0x%06x)\n", n_table+1, num_tables,
-             (const char *)table.tag, (int)table.offset, (int)table.length);
-
-      if (table.tag == "GSUB" || table.tag == "GPOS") {
-        const GSUBGPOSHeader &g = (const GSUBGPOSHeader&)*ot[table];
-
-       const ScriptList &scripts = *g.get_script_list();
-       int num_scripts = scripts.get_len ();
-       printf ("    %d script(s) found in table\n", num_scripts);
-       for (int n_script = 0; n_script < num_scripts; n_script++) {
-         const Script &script = scripts[n_script];
-         printf ("    Script %2d of %2d: %.4s\n", n_script+1, num_scripts,
-                 (const char *)scripts.get_tag(n_script));
-
-         if (script.get_default_language_system () == NULL)
-           printf ("      No default language system\n");
-         int num_langsys = script.get_len ();
-         printf ("      %d language system(s) found in script\n", num_langsys);
-         for (int n_langsys = 0; n_langsys < num_langsys; n_langsys++) {
-           const LangSys &langsys = script[n_langsys];
-           printf ("      Language System %2d of %2d: %.4s; %d features\n", n_langsys+1, num_langsys,
-                   (const char *)script.get_tag(n_langsys),
-                   langsys.get_len ());
-           if (!langsys.get_required_feature_index ())
-             printf ("        No required feature\n");
-         }
-       }
-        
-       const FeatureList &features = *g.get_feature_list();
-       int num_features = features.get_len ();
-       printf ("    %d feature(s) found in table\n", num_features);
-       for (int n_feature = 0; n_feature < num_features; n_feature++) {
-         const Feature &feature = features[n_feature];
-         printf ("    Feature %2d of %2d: %.4s; %d lookup(s)\n", n_feature+1, num_features,
-                 (const char *)features.get_tag(n_feature),
-                 (int)feature.lookupCount);
-       }
-        
-       const LookupList &lookups = *g.get_lookup_list();
-       int num_lookups = lookups.get_len ();
-       printf ("    %d lookup(s) found in table\n", num_lookups);
-       for (int n_lookup = 0; n_lookup < num_lookups; n_lookup++) {
-         const Lookup &lookup = lookups[n_lookup];
-         printf ("    Lookup %2d of %2d: type %d, flags %04x\n", n_lookup+1, num_lookups,
-                 (int)lookup.lookupType, (unsigned int)lookup.lookupFlag);
-       }
-      }
-    }
-  }
-
-  return 0;
-}
+#endif /* HARFBUZZ_OPEN_PRIVATE_H */
diff --git a/src/harfbuzz-open.h b/src/harfbuzz-open.h
new file mode 100644 (file)
index 0000000..f52fda7
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef HARFBUZZ_OPEN_H
+#define HARFBUZZ_OPEN_H
+
+#include "harfbuzz-common.h"
+
+HARFBUZZ_BEGIN_DECLS();
+
+typedef uint32_t hb_tag_t;
+#define HB_TAG(a,b,c,d) ((hb_tag_t)(((uint8_t)a<<24)|((uint8_t)b<<16)|((uint8_t)c<<8)|(uint8_t)d))
+
+HARFBUZZ_END_DECLS();
+
+#endif /* HARFBUZZ_OPEN_H */
diff --git a/src/main.cc b/src/main.cc
new file mode 100644 (file)
index 0000000..d5ddf16
--- /dev/null
@@ -0,0 +1,98 @@
+#include "harfbuzz-open-private.h"
+
+#include <stdlib.h>
+#include <stdio.h>
+
+int
+main (int argc, char **argv)
+{
+  if (argc != 2) {
+    fprintf (stderr, "usage: %s font-file.ttf\n", argv[0]);
+    exit (1);
+  }
+
+  GMappedFile *mf = g_mapped_file_new (argv[1], FALSE, NULL);
+  const char *font_data = g_mapped_file_get_contents (mf);
+  int len = g_mapped_file_get_length (mf);
+  
+  printf ("Opened font file %s: %d bytes long\n", argv[1], len);
+  
+  const OpenTypeFontFile &ot = OpenTypeFontFile::get (font_data);
+
+  switch (ot.tag) {
+  case OpenTypeFontFile::TrueTypeTag:
+    printf ("OpenType font with TrueType outlines\n");
+    break;
+  case OpenTypeFontFile::CFFTag:
+    printf ("OpenType font with CFF (Type1) outlines\n");
+    break;
+  case OpenTypeFontFile::TTCTag:
+    printf ("TrueType Collection of OpenType fonts\n");
+    break;
+  default:
+    printf ("Unknown font format\n");
+    break;
+  }
+
+  int num_fonts = ot.get_len ();
+  printf ("%d font(s) found in file\n", num_fonts);
+  for (int n_font = 0; n_font < num_fonts; n_font++) {
+    const OpenTypeFontFace &font = ot[n_font];
+    printf ("Font %d of %d:\n", n_font+1, num_fonts);
+
+    int num_tables = font.get_len ();
+    printf ("  %d table(s) found in font\n", num_tables);
+    for (int n_table = 0; n_table < num_tables; n_table++) {
+      const OpenTypeTable &table = font[n_table];
+      printf ("  Table %2d of %2d: %.4s (0x%06x+0x%06x)\n", n_table+1, num_tables,
+             (const char *)table.tag, (int)table.offset, (int)table.length);
+
+      if (table.tag == "GSUB" || table.tag == "GPOS") {
+        const GSUBGPOSHeader &g = (const GSUBGPOSHeader&)*ot[table];
+
+       const ScriptList &scripts = *g.get_script_list();
+       int num_scripts = scripts.get_len ();
+       printf ("    %d script(s) found in table\n", num_scripts);
+       for (int n_script = 0; n_script < num_scripts; n_script++) {
+         const Script &script = scripts[n_script];
+         printf ("    Script %2d of %2d: %.4s\n", n_script+1, num_scripts,
+                 (const char *)scripts.get_tag(n_script));
+
+         if (script.get_default_language_system () == NULL)
+           printf ("      No default language system\n");
+         int num_langsys = script.get_len ();
+         printf ("      %d language system(s) found in script\n", num_langsys);
+         for (int n_langsys = 0; n_langsys < num_langsys; n_langsys++) {
+           const LangSys &langsys = script[n_langsys];
+           printf ("      Language System %2d of %2d: %.4s; %d features\n", n_langsys+1, num_langsys,
+                   (const char *)script.get_tag(n_langsys),
+                   langsys.get_len ());
+           if (!langsys.get_required_feature_index ())
+             printf ("        No required feature\n");
+         }
+       }
+        
+       const FeatureList &features = *g.get_feature_list();
+       int num_features = features.get_len ();
+       printf ("    %d feature(s) found in table\n", num_features);
+       for (int n_feature = 0; n_feature < num_features; n_feature++) {
+         const Feature &feature = features[n_feature];
+         printf ("    Feature %2d of %2d: %.4s; %d lookup(s)\n", n_feature+1, num_features,
+                 (const char *)features.get_tag(n_feature),
+                 (int)feature.lookupCount);
+       }
+        
+       const LookupList &lookups = *g.get_lookup_list();
+       int num_lookups = lookups.get_len ();
+       printf ("    %d lookup(s) found in table\n", num_lookups);
+       for (int n_lookup = 0; n_lookup < num_lookups; n_lookup++) {
+         const Lookup &lookup = lookups[n_lookup];
+         printf ("    Lookup %2d of %2d: type %d, flags %04x\n", n_lookup+1, num_lookups,
+                 (int)lookup.lookupType, (unsigned int)lookup.lookupFlag);
+       }
+      }
+    }
+  }
+
+  return 0;
+}