util/options.cc |    5 ++++-
 util/options.hh |   12 ++++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)

New commits:
commit 407f80d62589774f845ef1a6a0a7d841b09d57c6
Author: Behdad Esfahbod <[email protected]>
Date:   Tue Nov 13 15:33:27 2012 -0800

    [util] Add --bot / --eot / --preserve-default-ignorables

diff --git a/util/options.cc b/util/options.cc
index b9f1538..ca621bf 100644
--- a/util/options.cc
+++ b/util/options.cc
@@ -271,6 +271,9 @@ shape_options_t::add_options (option_parser_t *parser)
     {"direction",      0, 0, G_OPTION_ARG_STRING,      &this->direction,       
        "Set text direction (default: auto)",   "ltr/rtl/ttb/btt"},
     {"language",       0, 0, G_OPTION_ARG_STRING,      &this->language,        
        "Set text language (default: $LANG)",   "langstr"},
     {"script",         0, 0, G_OPTION_ARG_STRING,      &this->script,          
        "Set text script (default: auto)",      "ISO-15924 tag"},
+    {"bot",            0, 0, G_OPTION_ARG_NONE,        &this->bot,             
        "Treat text as beginning-of-paragraph", NULL},
+    {"eot",            0, 0, G_OPTION_ARG_NONE,        &this->eot,             
        "Treat text as end-of-paragraph",       NULL},
+    {"preserve-default-ignorables",0, 0, G_OPTION_ARG_NONE,    
&this->preserve_default_ignorables,     "Preserve Default-Ignorable 
characters",        NULL},
     {"utf8-clusters",  0, 0, G_OPTION_ARG_NONE,        &this->utf8_clusters,   
        "Use UTF8 byte indices, not char indices",      NULL},
     {"normalize-glyphs",0, 0, G_OPTION_ARG_NONE,       
&this->normalize_glyphs,        "Rearrange glyph clusters in nominal order",    
NULL},
     {NULL}
diff --git a/util/options.hh b/util/options.hh
index 0f6fce2..be6878b 100644
--- a/util/options.hh
+++ b/util/options.hh
@@ -144,6 +144,7 @@ struct shape_options_t : option_group_t
   shape_options_t (option_parser_t *parser)
   {
     direction = language = script = NULL;
+    bot = eot = preserve_default_ignorables = false;
     features = NULL;
     num_features = 0;
     shapers = NULL;
@@ -165,6 +166,10 @@ struct shape_options_t : option_group_t
     hb_buffer_set_direction (buffer, hb_direction_from_string (direction, -1));
     hb_buffer_set_script (buffer, hb_script_from_string (script, -1));
     hb_buffer_set_language (buffer, hb_language_from_string (language, -1));
+    hb_buffer_set_flags (buffer, (hb_buffer_flags_t) (HB_BUFFER_FLAGS_DEFAULT |
+                        (bot ? HB_BUFFER_FLAG_BOT : 0) |
+                        (eot ? HB_BUFFER_FLAG_EOT : 0) |
+                        (preserve_default_ignorables ? 
HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES : 0)));
   }
 
   void populate_buffer (hb_buffer_t *buffer, const char *text, int text_len,
@@ -213,9 +218,16 @@ struct shape_options_t : option_group_t
     hb_ot_shape_glyphs_closure (font, buffer, features, num_features, glyphs);
   }
 
+  /* Buffer properties */
   const char *direction;
   const char *language;
   const char *script;
+
+  /* Buffer flags */
+  hb_bool_t bot;
+  hb_bool_t eot;
+  hb_bool_t preserve_default_ignorables;
+
   hb_feature_t *features;
   unsigned int num_features;
   char **shapers;
commit 78d41d8d69142ae95928b51215c0c0c5e3f5b3f0
Author: Behdad Esfahbod <[email protected]>
Date:   Tue Nov 13 15:15:09 2012 -0800

    Minor

diff --git a/util/options.cc b/util/options.cc
index ef07e9f..b9f1538 100644
--- a/util/options.cc
+++ b/util/options.cc
@@ -349,7 +349,7 @@ text_options_t::add_options (option_parser_t *parser)
   GOptionEntry entries[] =
   {
     {"text",           0, 0, G_OPTION_ARG_STRING,      &this->text,            
        "Set input text",                       "string"},
-    {"text-file",      0, 0, G_OPTION_ARG_STRING,      &this->text_file,       
        "Set input text file-name\n\n    If no text is provided, standard input 
is used for input.",            "filename"},
+    {"text-file",      0, 0, G_OPTION_ARG_STRING,      &this->text_file,       
        "Set input text file-name\n\n    If no text is provided, standard input 
is used for input.\n",          "filename"},
     {"text-before",    0, 0, G_OPTION_ARG_STRING,      &this->text_before,     
        "Set text context before each line",    "string"},
     {"text-after",     0, 0, G_OPTION_ARG_STRING,      &this->text_after,      
        "Set text context after each line",     "string"},
     {NULL}
_______________________________________________
HarfBuzz mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/harfbuzz

Reply via email to