gfx/harfbuzz/src/hb-shape.h

Fri, 16 Jan 2015 18:13:44 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 16 Jan 2015 18:13:44 +0100
branch
TOR_BUG_9701
changeset 14
925c144e1f1f
permissions
-rw-r--r--

Integrate suggestion from review to improve consistency with existing code.

     1 /*
     2  * Copyright © 2009  Red Hat, Inc.
     3  * Copyright © 2012  Google, Inc.
     4  *
     5  *  This is part of HarfBuzz, a text shaping library.
     6  *
     7  * Permission is hereby granted, without written agreement and without
     8  * license or royalty fees, to use, copy, modify, and distribute this
     9  * software and its documentation for any purpose, provided that the
    10  * above copyright notice and the following two paragraphs appear in
    11  * all copies of this software.
    12  *
    13  * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
    14  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
    15  * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
    16  * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
    17  * DAMAGE.
    18  *
    19  * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
    20  * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
    21  * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
    22  * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
    23  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
    24  *
    25  * Red Hat Author(s): Behdad Esfahbod
    26  * Google Author(s): Behdad Esfahbod
    27  */
    29 #ifndef HB_H_IN
    30 #error "Include <hb.h> instead."
    31 #endif
    33 #ifndef HB_SHAPE_H
    34 #define HB_SHAPE_H
    36 #include "hb-common.h"
    37 #include "hb-buffer.h"
    38 #include "hb-font.h"
    40 HB_BEGIN_DECLS
    43 typedef struct hb_feature_t {
    44   hb_tag_t      tag;
    45   uint32_t      value;
    46   unsigned int  start;
    47   unsigned int  end;
    48 } hb_feature_t;
    50 /* len=-1 means str is NUL-terminated */
    51 hb_bool_t
    52 hb_feature_from_string (const char *str, int len,
    53 			hb_feature_t *feature);
    55 /* Something like 128 bytes is more than enough.
    56  * nul-terminates. */
    57 void
    58 hb_feature_to_string (hb_feature_t *feature,
    59 		      char *buf, unsigned int size);
    62 void
    63 hb_shape (hb_font_t           *font,
    64 	  hb_buffer_t         *buffer,
    65 	  const hb_feature_t  *features,
    66 	  unsigned int         num_features);
    68 hb_bool_t
    69 hb_shape_full (hb_font_t          *font,
    70 	       hb_buffer_t        *buffer,
    71 	       const hb_feature_t *features,
    72 	       unsigned int        num_features,
    73 	       const char * const *shaper_list);
    75 const char **
    76 hb_shape_list_shapers (void);
    79 HB_END_DECLS
    81 #endif /* HB_SHAPE_H */

mercurial