{
hb_face_t *face;
- /* TODO: Handle NULL ft_face (in other places too) */
if (ft_face->stream->read == NULL) {
hb_blob_t *blob;
hb_face_t *
hb_ft_face_create_cached (FT_Face ft_face)
{
- /* TODO: Not thread-safe */
if (HB_UNLIKELY (!ft_face->generic.data || ft_face->generic.finalizer != (FT_Generic_Finalizer) hb_ft_face_finalize))
{
if (ft_face->generic.finalizer)
{
Tag t;
t.set (tag);
- // TODO: bsearch (need to sort in sanitize)
+ /* TODO: bsearch (need to sort in sanitize) */
const Record<Type> *a = this->array();
unsigned int count = this->len;
for (unsigned int i = 0; i < count; i++)
return SANITIZE_SELF () && SANITIZE (lookupIndex);
}
- /* TODO: implement get_feature_parameters() */
- /* TODO: implement FeatureSize and other special features? */
+ /* LONGTERMTODO: implement get_feature_parameters() */
+ /* LONGTERMTODO: implement FeatureSize and other special features? */
Offset featureParams; /* Offset to Feature Parameters table (if one
* has been defined for the feature), relative
* to the beginning of the Feature Table; = Null
return NOT_COVERED;
GlyphID gid;
gid.set (glyph_id);
- // TODO: bsearch (need to sort in sanitize)
+ /* TODO: bsearch (need to sort in sanitize) */
unsigned int num_glyphs = glyphArray.len;
for (unsigned int i = 0; i < num_glyphs; i++)
if (gid == glyphArray[i])
private:
inline unsigned int get_coverage (hb_codepoint_t glyph_id) const
{
- // TODO: bsearch (need to sort in sanitize)
+ /* TODO: bsearch (need to sort in sanitize) */
unsigned int count = rangeRecord.len;
for (unsigned int i = 0; i < count; i++)
{
private:
inline hb_ot_layout_class_t get_class (hb_codepoint_t glyph_id) const
{
- // TODO: bsearch (need to sort in sanitize)
+ /* TODO: bsearch (need to sort in sanitize) */
unsigned int count = rangeRecord.len;
for (unsigned int i = 0; i < count; i++)
{