/* PostTable.c generated by valac 0.56.17, the Vala compiler
 * generated from PostTable.vala, do not modify */

/*
Copyright (C) 2012 2013 2015 Johan Mattsson

This library is free software; you can redistribute it and/or modify 
it under the terms of the GNU Lesser General Public License as 
published by the Free Software Foundation; either version 3 of the 
License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but 
WITHOUT ANY WARRANTY; without even the implied warranty of 
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 
Lesser General Public License for more details.
*/

#include "birdfont.h"
#include <gee.h>
#include <glib-object.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <float.h>
#include <math.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif

enum  {
	BIRD_FONT_POST_TABLE_0_PROPERTY,
	BIRD_FONT_POST_TABLE_NUM_PROPERTIES
};
static GParamSpec* bird_font_post_table_properties[BIRD_FONT_POST_TABLE_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL)))
#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);

struct _BirdFontPostTablePrivate {
	BirdFontGlyfTable* glyf_table;
	GeeArrayList* index;
	GeeArrayList* names;
};

static gint BirdFontPostTable_private_offset;
static gpointer bird_font_post_table_parent_class = NULL;

static void bird_font_post_table_add_standard_names (BirdFontPostTable* self);
static gint bird_font_post_table_get_standard_index (BirdFontPostTable* self,
                                              gunichar c);
static gchar* bird_font_post_table_create_ps_name (BirdFontPostTable* self,
                                            const gchar* name);
static gchar* bird_font_post_table_add_suffix (BirdFontPostTable* self,
                                        const gchar* valid_name);
static void bird_font_post_table_finalize (GObject * obj);
static GType bird_font_post_table_get_type_once (void);
static inline gpointer _vala_memdup2 (gconstpointer mem,
                        gsize byte_size);

static inline gpointer
bird_font_post_table_get_instance_private (BirdFontPostTable* self)
{
	return G_STRUCT_MEMBER_P (self, BirdFontPostTable_private_offset);
}

static gpointer
_g_object_ref0 (gpointer self)
{
	return self ? g_object_ref (self) : NULL;
}

BirdFontPostTable*
bird_font_post_table_construct (GType object_type,
                                BirdFontGlyfTable* g)
{
	BirdFontPostTable * self = NULL;
	gchar* _tmp0_;
	BirdFontGlyfTable* _tmp1_;
	g_return_val_if_fail (g != NULL, NULL);
	self = (BirdFontPostTable*) bird_font_otf_table_construct (object_type);
	_tmp0_ = g_strdup ("post");
	_g_free0 (((BirdFontOtfTable*) self)->id);
	((BirdFontOtfTable*) self)->id = _tmp0_;
	_tmp1_ = _g_object_ref0 (g);
	_g_object_unref0 (self->priv->glyf_table);
	self->priv->glyf_table = _tmp1_;
	return self;
}

BirdFontPostTable*
bird_font_post_table_new (BirdFontGlyfTable* g)
{
	return bird_font_post_table_construct (BIRD_FONT_TYPE_POST_TABLE, g);
}

static void
bird_font_post_table_add_standard_names (BirdFontPostTable* self)
{
	GeeArrayList* _tmp0_;
	GeeArrayList* _tmp1_;
	GeeArrayList* _tmp2_;
	GeeArrayList* _tmp3_;
	GeeArrayList* _tmp4_;
	GeeArrayList* _tmp5_;
	GeeArrayList* _tmp6_;
	GeeArrayList* _tmp7_;
	GeeArrayList* _tmp8_;
	GeeArrayList* _tmp9_;
	GeeArrayList* _tmp10_;
	GeeArrayList* _tmp11_;
	GeeArrayList* _tmp12_;
	GeeArrayList* _tmp13_;
	GeeArrayList* _tmp14_;
	GeeArrayList* _tmp15_;
	GeeArrayList* _tmp16_;
	GeeArrayList* _tmp17_;
	GeeArrayList* _tmp18_;
	GeeArrayList* _tmp19_;
	GeeArrayList* _tmp20_;
	GeeArrayList* _tmp21_;
	GeeArrayList* _tmp22_;
	GeeArrayList* _tmp23_;
	GeeArrayList* _tmp24_;
	GeeArrayList* _tmp25_;
	GeeArrayList* _tmp26_;
	GeeArrayList* _tmp27_;
	GeeArrayList* _tmp28_;
	GeeArrayList* _tmp29_;
	GeeArrayList* _tmp30_;
	GeeArrayList* _tmp31_;
	GeeArrayList* _tmp32_;
	GeeArrayList* _tmp33_;
	GeeArrayList* _tmp34_;
	GeeArrayList* _tmp35_;
	GeeArrayList* _tmp36_;
	GeeArrayList* _tmp37_;
	GeeArrayList* _tmp38_;
	GeeArrayList* _tmp39_;
	GeeArrayList* _tmp40_;
	GeeArrayList* _tmp41_;
	GeeArrayList* _tmp42_;
	GeeArrayList* _tmp43_;
	GeeArrayList* _tmp44_;
	GeeArrayList* _tmp45_;
	GeeArrayList* _tmp46_;
	GeeArrayList* _tmp47_;
	GeeArrayList* _tmp48_;
	GeeArrayList* _tmp49_;
	GeeArrayList* _tmp50_;
	GeeArrayList* _tmp51_;
	GeeArrayList* _tmp52_;
	GeeArrayList* _tmp53_;
	GeeArrayList* _tmp54_;
	GeeArrayList* _tmp55_;
	GeeArrayList* _tmp56_;
	GeeArrayList* _tmp57_;
	GeeArrayList* _tmp58_;
	GeeArrayList* _tmp59_;
	GeeArrayList* _tmp60_;
	GeeArrayList* _tmp61_;
	GeeArrayList* _tmp62_;
	GeeArrayList* _tmp63_;
	GeeArrayList* _tmp64_;
	GeeArrayList* _tmp65_;
	GeeArrayList* _tmp66_;
	GeeArrayList* _tmp67_;
	GeeArrayList* _tmp68_;
	GeeArrayList* _tmp69_;
	GeeArrayList* _tmp70_;
	GeeArrayList* _tmp71_;
	GeeArrayList* _tmp72_;
	GeeArrayList* _tmp73_;
	GeeArrayList* _tmp74_;
	GeeArrayList* _tmp75_;
	GeeArrayList* _tmp76_;
	GeeArrayList* _tmp77_;
	GeeArrayList* _tmp78_;
	GeeArrayList* _tmp79_;
	GeeArrayList* _tmp80_;
	GeeArrayList* _tmp81_;
	GeeArrayList* _tmp82_;
	GeeArrayList* _tmp83_;
	GeeArrayList* _tmp84_;
	GeeArrayList* _tmp85_;
	GeeArrayList* _tmp86_;
	GeeArrayList* _tmp87_;
	GeeArrayList* _tmp88_;
	GeeArrayList* _tmp89_;
	GeeArrayList* _tmp90_;
	GeeArrayList* _tmp91_;
	GeeArrayList* _tmp92_;
	GeeArrayList* _tmp93_;
	GeeArrayList* _tmp94_;
	GeeArrayList* _tmp95_;
	GeeArrayList* _tmp96_;
	GeeArrayList* _tmp97_;
	GeeArrayList* _tmp98_;
	GeeArrayList* _tmp99_;
	GeeArrayList* _tmp100_;
	GeeArrayList* _tmp101_;
	GeeArrayList* _tmp102_;
	GeeArrayList* _tmp103_;
	GeeArrayList* _tmp104_;
	GeeArrayList* _tmp105_;
	GeeArrayList* _tmp106_;
	GeeArrayList* _tmp107_;
	GeeArrayList* _tmp108_;
	GeeArrayList* _tmp109_;
	GeeArrayList* _tmp110_;
	GeeArrayList* _tmp111_;
	GeeArrayList* _tmp112_;
	GeeArrayList* _tmp113_;
	GeeArrayList* _tmp114_;
	GeeArrayList* _tmp115_;
	GeeArrayList* _tmp116_;
	GeeArrayList* _tmp117_;
	GeeArrayList* _tmp118_;
	GeeArrayList* _tmp119_;
	GeeArrayList* _tmp120_;
	GeeArrayList* _tmp121_;
	GeeArrayList* _tmp122_;
	GeeArrayList* _tmp123_;
	GeeArrayList* _tmp124_;
	GeeArrayList* _tmp125_;
	GeeArrayList* _tmp126_;
	GeeArrayList* _tmp127_;
	GeeArrayList* _tmp128_;
	GeeArrayList* _tmp129_;
	GeeArrayList* _tmp130_;
	GeeArrayList* _tmp131_;
	GeeArrayList* _tmp132_;
	GeeArrayList* _tmp133_;
	GeeArrayList* _tmp134_;
	GeeArrayList* _tmp135_;
	GeeArrayList* _tmp136_;
	GeeArrayList* _tmp137_;
	GeeArrayList* _tmp138_;
	GeeArrayList* _tmp139_;
	GeeArrayList* _tmp140_;
	GeeArrayList* _tmp141_;
	GeeArrayList* _tmp142_;
	GeeArrayList* _tmp143_;
	GeeArrayList* _tmp144_;
	GeeArrayList* _tmp145_;
	GeeArrayList* _tmp146_;
	GeeArrayList* _tmp147_;
	GeeArrayList* _tmp148_;
	GeeArrayList* _tmp149_;
	GeeArrayList* _tmp150_;
	GeeArrayList* _tmp151_;
	GeeArrayList* _tmp152_;
	GeeArrayList* _tmp153_;
	GeeArrayList* _tmp154_;
	GeeArrayList* _tmp155_;
	GeeArrayList* _tmp156_;
	GeeArrayList* _tmp157_;
	GeeArrayList* _tmp158_;
	GeeArrayList* _tmp159_;
	GeeArrayList* _tmp160_;
	GeeArrayList* _tmp161_;
	GeeArrayList* _tmp162_;
	GeeArrayList* _tmp163_;
	GeeArrayList* _tmp164_;
	GeeArrayList* _tmp165_;
	GeeArrayList* _tmp166_;
	GeeArrayList* _tmp167_;
	GeeArrayList* _tmp168_;
	GeeArrayList* _tmp169_;
	GeeArrayList* _tmp170_;
	GeeArrayList* _tmp171_;
	GeeArrayList* _tmp172_;
	GeeArrayList* _tmp173_;
	GeeArrayList* _tmp174_;
	GeeArrayList* _tmp175_;
	GeeArrayList* _tmp176_;
	GeeArrayList* _tmp177_;
	GeeArrayList* _tmp178_;
	GeeArrayList* _tmp179_;
	GeeArrayList* _tmp180_;
	GeeArrayList* _tmp181_;
	GeeArrayList* _tmp182_;
	GeeArrayList* _tmp183_;
	GeeArrayList* _tmp184_;
	GeeArrayList* _tmp185_;
	GeeArrayList* _tmp186_;
	GeeArrayList* _tmp187_;
	GeeArrayList* _tmp188_;
	GeeArrayList* _tmp189_;
	GeeArrayList* _tmp190_;
	GeeArrayList* _tmp191_;
	GeeArrayList* _tmp192_;
	GeeArrayList* _tmp193_;
	GeeArrayList* _tmp194_;
	GeeArrayList* _tmp195_;
	GeeArrayList* _tmp196_;
	GeeArrayList* _tmp197_;
	GeeArrayList* _tmp198_;
	GeeArrayList* _tmp199_;
	GeeArrayList* _tmp200_;
	GeeArrayList* _tmp201_;
	GeeArrayList* _tmp202_;
	GeeArrayList* _tmp203_;
	GeeArrayList* _tmp204_;
	GeeArrayList* _tmp205_;
	GeeArrayList* _tmp206_;
	GeeArrayList* _tmp207_;
	GeeArrayList* _tmp208_;
	GeeArrayList* _tmp209_;
	GeeArrayList* _tmp210_;
	GeeArrayList* _tmp211_;
	GeeArrayList* _tmp212_;
	GeeArrayList* _tmp213_;
	GeeArrayList* _tmp214_;
	GeeArrayList* _tmp215_;
	GeeArrayList* _tmp216_;
	GeeArrayList* _tmp217_;
	GeeArrayList* _tmp218_;
	GeeArrayList* _tmp219_;
	GeeArrayList* _tmp220_;
	GeeArrayList* _tmp221_;
	GeeArrayList* _tmp222_;
	GeeArrayList* _tmp223_;
	GeeArrayList* _tmp224_;
	GeeArrayList* _tmp225_;
	GeeArrayList* _tmp226_;
	GeeArrayList* _tmp227_;
	GeeArrayList* _tmp228_;
	GeeArrayList* _tmp229_;
	GeeArrayList* _tmp230_;
	GeeArrayList* _tmp231_;
	GeeArrayList* _tmp232_;
	GeeArrayList* _tmp233_;
	GeeArrayList* _tmp234_;
	GeeArrayList* _tmp235_;
	GeeArrayList* _tmp236_;
	GeeArrayList* _tmp237_;
	GeeArrayList* _tmp238_;
	GeeArrayList* _tmp239_;
	GeeArrayList* _tmp240_;
	GeeArrayList* _tmp241_;
	GeeArrayList* _tmp242_;
	GeeArrayList* _tmp243_;
	GeeArrayList* _tmp244_;
	GeeArrayList* _tmp245_;
	GeeArrayList* _tmp246_;
	GeeArrayList* _tmp247_;
	GeeArrayList* _tmp248_;
	GeeArrayList* _tmp249_;
	GeeArrayList* _tmp250_;
	GeeArrayList* _tmp251_;
	GeeArrayList* _tmp252_;
	GeeArrayList* _tmp253_;
	GeeArrayList* _tmp254_;
	GeeArrayList* _tmp255_;
	GeeArrayList* _tmp256_;
	GeeArrayList* _tmp257_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp0_, ".notdef");
	_tmp1_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp1_, ".null");
	_tmp2_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp2_, "nonmarkingreturn");
	_tmp3_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp3_, "space");
	_tmp4_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp4_, "exclam");
	_tmp5_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp5_, "quotedbl");
	_tmp6_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp6_, "numbersign");
	_tmp7_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp7_, "dollar");
	_tmp8_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp8_, "percent");
	_tmp9_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp9_, "ampersand");
	_tmp10_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp10_, "quotesingle");
	_tmp11_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp11_, "parenleft");
	_tmp12_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp12_, "parenright");
	_tmp13_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp13_, "asterisk");
	_tmp14_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp14_, "plus");
	_tmp15_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp15_, "comma");
	_tmp16_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp16_, "hyphen");
	_tmp17_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp17_, "period");
	_tmp18_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp18_, "slash");
	_tmp19_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp19_, "zero");
	_tmp20_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp20_, "one");
	_tmp21_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp21_, "two");
	_tmp22_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp22_, "three");
	_tmp23_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp23_, "four");
	_tmp24_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp24_, "five");
	_tmp25_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp25_, "six");
	_tmp26_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp26_, "seven");
	_tmp27_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp27_, "eight");
	_tmp28_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp28_, "nine");
	_tmp29_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp29_, "colon");
	_tmp30_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp30_, "semicolon");
	_tmp31_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp31_, "less");
	_tmp32_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp32_, "equal");
	_tmp33_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp33_, "greater");
	_tmp34_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp34_, "question");
	_tmp35_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp35_, "at");
	_tmp36_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp36_, "A");
	_tmp37_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp37_, "B");
	_tmp38_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp38_, "C");
	_tmp39_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp39_, "D");
	_tmp40_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp40_, "E");
	_tmp41_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp41_, "F");
	_tmp42_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp42_, "G");
	_tmp43_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp43_, "H");
	_tmp44_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp44_, "I");
	_tmp45_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp45_, "J");
	_tmp46_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp46_, "K");
	_tmp47_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp47_, "L");
	_tmp48_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp48_, "M");
	_tmp49_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp49_, "N");
	_tmp50_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp50_, "O");
	_tmp51_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp51_, "P");
	_tmp52_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp52_, "Q");
	_tmp53_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp53_, "R");
	_tmp54_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp54_, "S");
	_tmp55_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp55_, "T");
	_tmp56_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp56_, "U");
	_tmp57_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp57_, "V");
	_tmp58_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp58_, "W");
	_tmp59_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp59_, "X");
	_tmp60_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp60_, "Y");
	_tmp61_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp61_, "Z");
	_tmp62_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp62_, "bracketleft");
	_tmp63_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp63_, "backslash");
	_tmp64_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp64_, "bracketright");
	_tmp65_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp65_, "asciicircum");
	_tmp66_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp66_, "underscore");
	_tmp67_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp67_, "grave");
	_tmp68_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp68_, "a");
	_tmp69_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp69_, "b");
	_tmp70_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp70_, "c");
	_tmp71_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp71_, "d");
	_tmp72_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp72_, "e");
	_tmp73_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp73_, "f");
	_tmp74_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp74_, "g");
	_tmp75_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp75_, "h");
	_tmp76_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp76_, "i");
	_tmp77_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp77_, "j");
	_tmp78_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp78_, "k");
	_tmp79_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp79_, "l");
	_tmp80_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp80_, "m");
	_tmp81_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp81_, "n");
	_tmp82_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp82_, "o");
	_tmp83_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp83_, "p");
	_tmp84_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp84_, "q");
	_tmp85_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp85_, "r");
	_tmp86_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp86_, "s");
	_tmp87_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp87_, "t");
	_tmp88_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp88_, "u");
	_tmp89_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp89_, "v");
	_tmp90_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp90_, "w");
	_tmp91_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp91_, "x");
	_tmp92_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp92_, "y");
	_tmp93_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp93_, "z");
	_tmp94_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp94_, "braceleft");
	_tmp95_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp95_, "bar");
	_tmp96_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp96_, "braceright");
	_tmp97_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp97_, "asciitilde");
	_tmp98_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp98_, "Adieresis");
	_tmp99_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp99_, "Aring");
	_tmp100_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp100_, "Ccedilla");
	_tmp101_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp101_, "Eacute");
	_tmp102_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp102_, "Ntilde");
	_tmp103_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp103_, "Odieresis");
	_tmp104_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp104_, "Udieresis");
	_tmp105_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp105_, "aacute");
	_tmp106_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp106_, "agrave");
	_tmp107_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp107_, "acircumflex");
	_tmp108_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp108_, "adieresis");
	_tmp109_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp109_, "atilde");
	_tmp110_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp110_, "aring");
	_tmp111_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp111_, "ccedilla");
	_tmp112_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp112_, "eacute");
	_tmp113_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp113_, "egrave");
	_tmp114_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp114_, "ecircumflex");
	_tmp115_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp115_, "edieresis");
	_tmp116_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp116_, "iacute");
	_tmp117_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp117_, "igrave");
	_tmp118_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp118_, "icircumflex");
	_tmp119_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp119_, "idieresis");
	_tmp120_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp120_, "ntilde");
	_tmp121_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp121_, "oacute");
	_tmp122_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp122_, "ograve");
	_tmp123_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp123_, "ocircumflex");
	_tmp124_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp124_, "odieresis");
	_tmp125_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp125_, "otilde");
	_tmp126_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp126_, "uacute");
	_tmp127_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp127_, "ugrave");
	_tmp128_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp128_, "ucircumflex");
	_tmp129_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp129_, "udieresis");
	_tmp130_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp130_, "dagger");
	_tmp131_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp131_, "degree");
	_tmp132_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp132_, "cent");
	_tmp133_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp133_, "sterling");
	_tmp134_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp134_, "section");
	_tmp135_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp135_, "bullet");
	_tmp136_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp136_, "paragraph");
	_tmp137_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp137_, "germandbls");
	_tmp138_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp138_, "registered");
	_tmp139_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp139_, "copyright");
	_tmp140_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp140_, "trademark");
	_tmp141_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp141_, "acute");
	_tmp142_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp142_, "dieresis");
	_tmp143_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp143_, "notequal");
	_tmp144_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp144_, "AE");
	_tmp145_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp145_, "Oslash");
	_tmp146_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp146_, "infinity");
	_tmp147_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp147_, "plusminus");
	_tmp148_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp148_, "lessequal");
	_tmp149_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp149_, "greaterequal");
	_tmp150_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp150_, "yen");
	_tmp151_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp151_, "mu");
	_tmp152_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp152_, "partialdiff");
	_tmp153_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp153_, "summation");
	_tmp154_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp154_, "product");
	_tmp155_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp155_, "pi");
	_tmp156_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp156_, "integral");
	_tmp157_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp157_, "ordfeminine");
	_tmp158_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp158_, "ordmasculine");
	_tmp159_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp159_, "Omega");
	_tmp160_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp160_, "ae");
	_tmp161_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp161_, "oslash");
	_tmp162_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp162_, "questiondown");
	_tmp163_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp163_, "exclamdown");
	_tmp164_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp164_, "logicalnot");
	_tmp165_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp165_, "radical");
	_tmp166_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp166_, "florin");
	_tmp167_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp167_, "approxequal");
	_tmp168_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp168_, "Delta");
	_tmp169_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp169_, "guillemotleft");
	_tmp170_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp170_, "guillemotright");
	_tmp171_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp171_, "ellipsis");
	_tmp172_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp172_, "nonbreakingspace");
	_tmp173_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp173_, "Agrave");
	_tmp174_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp174_, "Atilde");
	_tmp175_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp175_, "Otilde");
	_tmp176_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp176_, "OE");
	_tmp177_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp177_, "oe");
	_tmp178_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp178_, "endash");
	_tmp179_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp179_, "emdash");
	_tmp180_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp180_, "quotedblleft");
	_tmp181_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp181_, "quotedblright");
	_tmp182_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp182_, "quoteleft");
	_tmp183_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp183_, "quoteright");
	_tmp184_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp184_, "divide");
	_tmp185_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp185_, "lozenge");
	_tmp186_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp186_, "ydieresis");
	_tmp187_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp187_, "Ydieresis");
	_tmp188_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp188_, "fraction");
	_tmp189_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp189_, "currency");
	_tmp190_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp190_, "guilsinglleft");
	_tmp191_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp191_, "guilsinglright");
	_tmp192_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp192_, "fi");
	_tmp193_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp193_, "fl");
	_tmp194_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp194_, "daggerdbl");
	_tmp195_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp195_, "periodcentered");
	_tmp196_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp196_, "quotesinglbase");
	_tmp197_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp197_, "quotedblbase");
	_tmp198_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp198_, "perthousand");
	_tmp199_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp199_, "Acircumflex");
	_tmp200_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp200_, "Ecircumflex");
	_tmp201_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp201_, "Aacute");
	_tmp202_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp202_, "Edieresis");
	_tmp203_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp203_, "Egrave");
	_tmp204_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp204_, "Iacute");
	_tmp205_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp205_, "Icircumflex");
	_tmp206_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp206_, "Idieresis");
	_tmp207_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp207_, "Igrave");
	_tmp208_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp208_, "Oacute");
	_tmp209_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp209_, "Ocircumflex");
	_tmp210_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp210_, "apple");
	_tmp211_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp211_, "Ograve");
	_tmp212_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp212_, "Uacute");
	_tmp213_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp213_, "Ucircumflex");
	_tmp214_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp214_, "Ugrave");
	_tmp215_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp215_, "dotlessi");
	_tmp216_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp216_, "circumflex");
	_tmp217_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp217_, "tilde");
	_tmp218_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp218_, "macron");
	_tmp219_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp219_, "breve");
	_tmp220_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp220_, "dotaccent");
	_tmp221_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp221_, "ring");
	_tmp222_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp222_, "cedilla");
	_tmp223_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp223_, "hungarumlaut");
	_tmp224_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp224_, "ogonek");
	_tmp225_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp225_, "caron");
	_tmp226_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp226_, "Lslash");
	_tmp227_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp227_, "lslash");
	_tmp228_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp228_, "Scaron");
	_tmp229_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp229_, "scaron");
	_tmp230_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp230_, "Zcaron");
	_tmp231_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp231_, "zcaron");
	_tmp232_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp232_, "brokenbar");
	_tmp233_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp233_, "Eth");
	_tmp234_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp234_, "eth");
	_tmp235_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp235_, "Yacute");
	_tmp236_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp236_, "yacute");
	_tmp237_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp237_, "Thorn");
	_tmp238_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp238_, "thorn");
	_tmp239_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp239_, "minus");
	_tmp240_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp240_, "multiply");
	_tmp241_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp241_, "onesuperior");
	_tmp242_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp242_, "twosuperior");
	_tmp243_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp243_, "threesuperior");
	_tmp244_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp244_, "onehalf");
	_tmp245_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp245_, "onequarter");
	_tmp246_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp246_, "threequarters");
	_tmp247_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp247_, "franc");
	_tmp248_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp248_, "Gbreve");
	_tmp249_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp249_, "gbreve");
	_tmp250_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp250_, "Idotaccent");
	_tmp251_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp251_, "Scedilla");
	_tmp252_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp252_, "scedilla");
	_tmp253_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp253_, "Cacute");
	_tmp254_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp254_, "cacute");
	_tmp255_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp255_, "Ccaron");
	_tmp256_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp256_, "ccaron");
	_tmp257_ = self->priv->names;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp257_, "dcroat");
}

static gint
bird_font_post_table_get_standard_index (BirdFontPostTable* self,
                                         gunichar c)
{
	gint result;
	g_return_val_if_fail (self != NULL, 0);
	switch (c) {
		case '\0':
		{
			result = 1;
			return result;
		}
		case '\r':
		{
			result = 2;
			return result;
		}
		case ' ':
		{
			result = 3;
			return result;
		}
		case '!':
		{
			result = 4;
			return result;
		}
		case '"':
		{
			result = 5;
			return result;
		}
		case '#':
		{
			result = 6;
			return result;
		}
		case '$':
		{
			result = 7;
			return result;
		}
		case '%':
		{
			result = 8;
			return result;
		}
		case '&':
		{
			result = 9;
			return result;
		}
		case '\'':
		{
			result = 10;
			return result;
		}
		case '(':
		{
			result = 11;
			return result;
		}
		case ')':
		{
			result = 12;
			return result;
		}
		case '*':
		{
			result = 13;
			return result;
		}
		case '+':
		{
			result = 14;
			return result;
		}
		case ',':
		{
			result = 15;
			return result;
		}
		case '-':
		{
			result = 16;
			return result;
		}
		case '.':
		{
			result = 17;
			return result;
		}
		case '/':
		{
			result = 18;
			return result;
		}
		case '0':
		{
			result = 19;
			return result;
		}
		case '1':
		{
			result = 20;
			return result;
		}
		case '2':
		{
			result = 21;
			return result;
		}
		case '3':
		{
			result = 22;
			return result;
		}
		case '4':
		{
			result = 23;
			return result;
		}
		case '5':
		{
			result = 24;
			return result;
		}
		case '6':
		{
			result = 25;
			return result;
		}
		case '7':
		{
			result = 26;
			return result;
		}
		case '8':
		{
			result = 27;
			return result;
		}
		case '9':
		{
			result = 28;
			return result;
		}
		case ':':
		{
			result = 29;
			return result;
		}
		case ';':
		{
			result = 30;
			return result;
		}
		case '<':
		{
			result = 31;
			return result;
		}
		case '=':
		{
			result = 32;
			return result;
		}
		case '>':
		{
			result = 33;
			return result;
		}
		case '?':
		{
			result = 34;
			return result;
		}
		case '@':
		{
			result = 35;
			return result;
		}
		case 'A':
		{
			result = 36;
			return result;
		}
		case 'B':
		{
			result = 37;
			return result;
		}
		case 'C':
		{
			result = 38;
			return result;
		}
		case 'D':
		{
			result = 39;
			return result;
		}
		case 'E':
		{
			result = 40;
			return result;
		}
		case 'F':
		{
			result = 41;
			return result;
		}
		case 'G':
		{
			result = 42;
			return result;
		}
		case 'H':
		{
			result = 43;
			return result;
		}
		case 'I':
		{
			result = 44;
			return result;
		}
		case 'J':
		{
			result = 45;
			return result;
		}
		case 'K':
		{
			result = 46;
			return result;
		}
		case 'L':
		{
			result = 47;
			return result;
		}
		case 'M':
		{
			result = 48;
			return result;
		}
		case 'N':
		{
			result = 49;
			return result;
		}
		case 'O':
		{
			result = 50;
			return result;
		}
		case 'P':
		{
			result = 51;
			return result;
		}
		case 'Q':
		{
			result = 52;
			return result;
		}
		case 'R':
		{
			result = 53;
			return result;
		}
		case 'S':
		{
			result = 54;
			return result;
		}
		case 'T':
		{
			result = 55;
			return result;
		}
		case 'U':
		{
			result = 56;
			return result;
		}
		case 'V':
		{
			result = 57;
			return result;
		}
		case 'W':
		{
			result = 58;
			return result;
		}
		case 'X':
		{
			result = 59;
			return result;
		}
		case 'Y':
		{
			result = 60;
			return result;
		}
		case 'Z':
		{
			result = 61;
			return result;
		}
		case '[':
		{
			result = 62;
			return result;
		}
		case '\\':
		{
			result = 63;
			return result;
		}
		case ']':
		{
			result = 64;
			return result;
		}
		case '^':
		{
			result = 65;
			return result;
		}
		case '_':
		{
			result = 66;
			return result;
		}
		case '`':
		{
			result = 67;
			return result;
		}
		case 'a':
		{
			result = 68;
			return result;
		}
		case 'b':
		{
			result = 69;
			return result;
		}
		case 'c':
		{
			result = 70;
			return result;
		}
		case 'd':
		{
			result = 71;
			return result;
		}
		case 'e':
		{
			result = 72;
			return result;
		}
		case 'f':
		{
			result = 73;
			return result;
		}
		case 'g':
		{
			result = 74;
			return result;
		}
		case 'h':
		{
			result = 75;
			return result;
		}
		case 'i':
		{
			result = 76;
			return result;
		}
		case 'j':
		{
			result = 77;
			return result;
		}
		case 'k':
		{
			result = 78;
			return result;
		}
		case 'l':
		{
			result = 79;
			return result;
		}
		case 'm':
		{
			result = 80;
			return result;
		}
		case 'n':
		{
			result = 81;
			return result;
		}
		case 'o':
		{
			result = 82;
			return result;
		}
		case 'p':
		{
			result = 83;
			return result;
		}
		case 'q':
		{
			result = 84;
			return result;
		}
		case 'r':
		{
			result = 85;
			return result;
		}
		case 's':
		{
			result = 86;
			return result;
		}
		case 't':
		{
			result = 87;
			return result;
		}
		case 'u':
		{
			result = 88;
			return result;
		}
		case 'v':
		{
			result = 89;
			return result;
		}
		case 'w':
		{
			result = 90;
			return result;
		}
		case 'x':
		{
			result = 91;
			return result;
		}
		case 'y':
		{
			result = 92;
			return result;
		}
		case 'z':
		{
			result = 93;
			return result;
		}
		case '{':
		{
			result = 94;
			return result;
		}
		case '|':
		{
			result = 95;
			return result;
		}
		case '}':
		{
			result = 96;
			return result;
		}
		case '~':
		{
			result = 97;
			return result;
		}
		case 196U:
		{
			result = 98;
			return result;
		}
		case 197U:
		{
			result = 99;
			return result;
		}
		case 199U:
		{
			result = 100;
			return result;
		}
		case 201U:
		{
			result = 101;
			return result;
		}
		case 209U:
		{
			result = 102;
			return result;
		}
		case 214U:
		{
			result = 103;
			return result;
		}
		case 220U:
		{
			result = 104;
			return result;
		}
		case 225U:
		{
			result = 105;
			return result;
		}
		case 224U:
		{
			result = 106;
			return result;
		}
		case 226U:
		{
			result = 107;
			return result;
		}
		case 228U:
		{
			result = 108;
			return result;
		}
		case 227U:
		{
			result = 109;
			return result;
		}
		case 229U:
		{
			result = 110;
			return result;
		}
		case 231U:
		{
			result = 111;
			return result;
		}
		case 233U:
		{
			result = 112;
			return result;
		}
		case 232U:
		{
			result = 113;
			return result;
		}
		case 234U:
		{
			result = 114;
			return result;
		}
		case 235U:
		{
			result = 115;
			return result;
		}
		case 237U:
		{
			result = 116;
			return result;
		}
		case 236U:
		{
			result = 117;
			return result;
		}
		case 238U:
		{
			result = 118;
			return result;
		}
		case 239U:
		{
			result = 119;
			return result;
		}
		case 241U:
		{
			result = 120;
			return result;
		}
		case 243U:
		{
			result = 121;
			return result;
		}
		case 242U:
		{
			result = 122;
			return result;
		}
		case 244U:
		{
			result = 123;
			return result;
		}
		case 246U:
		{
			result = 124;
			return result;
		}
		case 245U:
		{
			result = 125;
			return result;
		}
		case 250U:
		{
			result = 126;
			return result;
		}
		case 249U:
		{
			result = 127;
			return result;
		}
		case 251U:
		{
			result = 128;
			return result;
		}
		case 252U:
		{
			result = 129;
			return result;
		}
		case 8224U:
		{
			result = 130;
			return result;
		}
		case 176U:
		{
			result = 131;
			return result;
		}
		case 162U:
		{
			result = 132;
			return result;
		}
		case 163U:
		{
			result = 133;
			return result;
		}
		case 167U:
		{
			result = 134;
			return result;
		}
		case 8226U:
		{
			result = 135;
			return result;
		}
		case 182U:
		{
			result = 136;
			return result;
		}
		case 223U:
		{
			result = 137;
			return result;
		}
		case 174U:
		{
			result = 138;
			return result;
		}
		case 169U:
		{
			result = 139;
			return result;
		}
		case 8482U:
		{
			result = 140;
			return result;
		}
		case 180U:
		{
			result = 141;
			return result;
		}
		case 168U:
		{
			result = 142;
			return result;
		}
		case 8800U:
		{
			result = 143;
			return result;
		}
		case 198U:
		{
			result = 144;
			return result;
		}
		case 216U:
		{
			result = 145;
			return result;
		}
		case 8734U:
		{
			result = 146;
			return result;
		}
		case 177U:
		{
			result = 147;
			return result;
		}
		case 8804U:
		{
			result = 148;
			return result;
		}
		case 8805U:
		{
			result = 149;
			return result;
		}
		case 165U:
		{
			result = 150;
			return result;
		}
		case 181U:
		{
			result = 151;
			return result;
		}
		case 8706U:
		{
			result = 152;
			return result;
		}
		case 8721U:
		{
			result = 153;
			return result;
		}
		case 8719U:
		{
			result = 154;
			return result;
		}
		case 960U:
		{
			result = 155;
			return result;
		}
		case 8747U:
		{
			result = 156;
			return result;
		}
		case 170U:
		{
			result = 157;
			return result;
		}
		case 186U:
		{
			result = 158;
			return result;
		}
		case 8486U:
		{
			result = 159;
			return result;
		}
		case 230U:
		{
			result = 160;
			return result;
		}
		case 248U:
		{
			result = 161;
			return result;
		}
		case 191U:
		{
			result = 162;
			return result;
		}
		case 161U:
		{
			result = 163;
			return result;
		}
		case 172U:
		{
			result = 164;
			return result;
		}
		case 8730U:
		{
			result = 165;
			return result;
		}
		case 402U:
		{
			result = 166;
			return result;
		}
		case 8776U:
		{
			result = 167;
			return result;
		}
		case 8710U:
		{
			result = 168;
			return result;
		}
		case 171U:
		{
			result = 169;
			return result;
		}
		case 187U:
		{
			result = 170;
			return result;
		}
		case 8230U:
		{
			result = 171;
			return result;
		}
		case 160U:
		{
			result = 172;
			return result;
		}
		case 192U:
		{
			result = 173;
			return result;
		}
		case 195U:
		{
			result = 174;
			return result;
		}
		case 213U:
		{
			result = 175;
			return result;
		}
		case 338U:
		{
			result = 176;
			return result;
		}
		case 339U:
		{
			result = 177;
			return result;
		}
		case 8211U:
		{
			result = 178;
			return result;
		}
		case 8212U:
		{
			result = 179;
			return result;
		}
		case 8220U:
		{
			result = 180;
			return result;
		}
		case 8221U:
		{
			result = 181;
			return result;
		}
		case 8216U:
		{
			result = 182;
			return result;
		}
		case 8217U:
		{
			result = 183;
			return result;
		}
		case 247U:
		{
			result = 184;
			return result;
		}
		case 9674U:
		{
			result = 185;
			return result;
		}
		case 255U:
		{
			result = 186;
			return result;
		}
		case 376U:
		{
			result = 187;
			return result;
		}
		case 8260U:
		{
			result = 188;
			return result;
		}
		case 164U:
		{
			result = 189;
			return result;
		}
		case 8249U:
		{
			result = 190;
			return result;
		}
		case 8250U:
		{
			result = 191;
			return result;
		}
		case 64257U:
		{
			result = 192;
			return result;
		}
		case 64258U:
		{
			result = 193;
			return result;
		}
		case 8225U:
		{
			result = 194;
			return result;
		}
		case 183U:
		{
			result = 195;
			return result;
		}
		case 8218U:
		{
			result = 196;
			return result;
		}
		case 8222U:
		{
			result = 197;
			return result;
		}
		case 8240U:
		{
			result = 198;
			return result;
		}
		case 194U:
		{
			result = 199;
			return result;
		}
		case 202U:
		{
			result = 200;
			return result;
		}
		case 193U:
		{
			result = 201;
			return result;
		}
		case 203U:
		{
			result = 202;
			return result;
		}
		case 200U:
		{
			result = 203;
			return result;
		}
		case 205U:
		{
			result = 204;
			return result;
		}
		case 206U:
		{
			result = 205;
			return result;
		}
		case 207U:
		{
			result = 206;
			return result;
		}
		case 204U:
		{
			result = 207;
			return result;
		}
		case 211U:
		{
			result = 208;
			return result;
		}
		case 212U:
		{
			result = 209;
			return result;
		}
		case 210U:
		{
			result = 211;
			return result;
		}
		case 218U:
		{
			result = 212;
			return result;
		}
		case 219U:
		{
			result = 213;
			return result;
		}
		case 217U:
		{
			result = 214;
			return result;
		}
		case 305U:
		{
			result = 215;
			return result;
		}
		case 710U:
		{
			result = 216;
			return result;
		}
		case 732U:
		{
			result = 217;
			return result;
		}
		case 175U:
		{
			result = 218;
			return result;
		}
		case 728U:
		{
			result = 219;
			return result;
		}
		case 729U:
		{
			result = 220;
			return result;
		}
		case 730U:
		{
			result = 221;
			return result;
		}
		case 184U:
		{
			result = 222;
			return result;
		}
		case 733U:
		{
			result = 223;
			return result;
		}
		case 731U:
		{
			result = 224;
			return result;
		}
		case 711U:
		{
			result = 225;
			return result;
		}
		case 321U:
		{
			result = 226;
			return result;
		}
		case 322U:
		{
			result = 227;
			return result;
		}
		case 352U:
		{
			result = 228;
			return result;
		}
		case 353U:
		{
			result = 229;
			return result;
		}
		case 381U:
		{
			result = 230;
			return result;
		}
		case 382U:
		{
			result = 231;
			return result;
		}
		case 166U:
		{
			result = 232;
			return result;
		}
		case 208U:
		{
			result = 233;
			return result;
		}
		case 240U:
		{
			result = 234;
			return result;
		}
		case 221U:
		{
			result = 235;
			return result;
		}
		case 253U:
		{
			result = 236;
			return result;
		}
		case 222U:
		{
			result = 237;
			return result;
		}
		case 254U:
		{
			result = 238;
			return result;
		}
		case 8722U:
		{
			result = 239;
			return result;
		}
		case 215U:
		{
			result = 240;
			return result;
		}
		case 185U:
		{
			result = 241;
			return result;
		}
		case 178U:
		{
			result = 242;
			return result;
		}
		case 179U:
		{
			result = 243;
			return result;
		}
		case 189U:
		{
			result = 244;
			return result;
		}
		case 188U:
		{
			result = 245;
			return result;
		}
		case 190U:
		{
			result = 246;
			return result;
		}
		case 8355U:
		{
			result = 247;
			return result;
		}
		case 286U:
		{
			result = 248;
			return result;
		}
		case 287U:
		{
			result = 249;
			return result;
		}
		case 304U:
		{
			result = 250;
			return result;
		}
		case 350U:
		{
			result = 251;
			return result;
		}
		case 351U:
		{
			result = 252;
			return result;
		}
		case 262U:
		{
			result = 253;
			return result;
		}
		case 263U:
		{
			result = 254;
			return result;
		}
		case 268U:
		{
			result = 255;
			return result;
		}
		case 269U:
		{
			result = 256;
			return result;
		}
		case 273U:
		{
			result = 257;
			return result;
		}
		default:
		break;
	}
	result = 0;
	return result;
}

static const gchar*
string_to_string (const gchar* self)
{
	const gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	result = self;
	return result;
}

void
bird_font_post_table_process (BirdFontPostTable* self,
                              GError** error)
{
	BirdFontFontData* fd = NULL;
	BirdFontFontData* _tmp0_;
	gchar* n = NULL;
	gint name_index = 0;
	BirdFontGlyphCollection* gc = NULL;
	BirdFontGlyph* g = NULL;
	gchar* ps_name = NULL;
	GString* name = NULL;
	BirdFontFontData* _tmp1_;
	BirdFontFont* font = NULL;
	BirdFontFont* _tmp2_;
	BirdFontFont* _tmp3_;
	BirdFontFontData* _tmp8_;
	BirdFontFontData* _tmp9_;
	BirdFontFontData* _tmp10_;
	BirdFontFontData* _tmp11_;
	BirdFontFontData* _tmp12_;
	BirdFontFontData* _tmp13_;
	BirdFontFontData* _tmp14_;
	BirdFontFontData* _tmp15_;
	BirdFontGlyfTable* _tmp16_;
	GeeArrayList* _tmp17_;
	gint _tmp18_;
	gint _tmp19_;
	BirdFontFontData* _tmp20_;
	GeeArrayList* _tmp21_;
	GeeArrayList* _tmp22_;
	gint _tmp23_;
	gint _tmp24_;
	BirdFontFontData* _tmp85_;
	BirdFontFontData* _tmp86_;
	BirdFontFontData* _tmp87_;
	GError* _inner_error0_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = bird_font_font_data_new ((guint32) 1024);
	fd = _tmp0_;
	_tmp1_ = fd;
	bird_font_font_data_add_fixed (_tmp1_, (BirdFontFixed) 0x00020000, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		_g_string_free0 (name);
		_g_free0 (ps_name);
		_g_object_unref0 (g);
		_g_object_unref0 (gc);
		_g_free0 (n);
		_g_object_unref0 (fd);
		return;
	}
	_tmp2_ = bird_font_open_font_format_writer_get_current_font ();
	font = _tmp2_;
	_tmp3_ = font;
	if (!_tmp3_->italic) {
		BirdFontFont* _tmp4_;
		BirdFontFontData* _tmp5_;
		_tmp4_ = font;
		if (_tmp4_->italic_angle != ((gdouble) 0)) {
			bird_font_printd ("Italic angle set to $(font.italic_angle) but the italic checkbox is no" \
"t ticked.");
		}
		_tmp5_ = fd;
		bird_font_font_data_add_fixed (_tmp5_, (BirdFontFixed) 0x00000000, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			g_propagate_error (error, _inner_error0_);
			_g_object_unref0 (font);
			_g_string_free0 (name);
			_g_free0 (ps_name);
			_g_object_unref0 (g);
			_g_object_unref0 (gc);
			_g_free0 (n);
			_g_object_unref0 (fd);
			return;
		}
	} else {
		gint angle = 0;
		BirdFontFont* _tmp6_;
		BirdFontFontData* _tmp7_;
		_tmp6_ = font;
		angle = (gint) bird_font_font_data_to_fixed (_tmp6_->italic_angle);
		_tmp7_ = fd;
		bird_font_font_data_add_32 (_tmp7_, (gint32) angle, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			g_propagate_error (error, _inner_error0_);
			_g_object_unref0 (font);
			_g_string_free0 (name);
			_g_free0 (ps_name);
			_g_object_unref0 (g);
			_g_object_unref0 (gc);
			_g_free0 (n);
			_g_object_unref0 (fd);
			return;
		}
	}
	_tmp8_ = fd;
	bird_font_font_data_add_short (_tmp8_, (gint16) -2, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		_g_object_unref0 (font);
		_g_string_free0 (name);
		_g_free0 (ps_name);
		_g_object_unref0 (g);
		_g_object_unref0 (gc);
		_g_free0 (n);
		_g_object_unref0 (fd);
		return;
	}
	_tmp9_ = fd;
	bird_font_font_data_add_short (_tmp9_, (gint16) 1, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		_g_object_unref0 (font);
		_g_string_free0 (name);
		_g_free0 (ps_name);
		_g_object_unref0 (g);
		_g_object_unref0 (gc);
		_g_free0 (n);
		_g_object_unref0 (fd);
		return;
	}
	_tmp10_ = fd;
	bird_font_font_data_add_ulong (_tmp10_, (guint32) 0, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		_g_object_unref0 (font);
		_g_string_free0 (name);
		_g_free0 (ps_name);
		_g_object_unref0 (g);
		_g_object_unref0 (gc);
		_g_free0 (n);
		_g_object_unref0 (fd);
		return;
	}
	_tmp11_ = fd;
	bird_font_font_data_add_ulong (_tmp11_, (guint32) 0, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		_g_object_unref0 (font);
		_g_string_free0 (name);
		_g_free0 (ps_name);
		_g_object_unref0 (g);
		_g_object_unref0 (gc);
		_g_free0 (n);
		_g_object_unref0 (fd);
		return;
	}
	_tmp12_ = fd;
	bird_font_font_data_add_ulong (_tmp12_, (guint32) 0, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		_g_object_unref0 (font);
		_g_string_free0 (name);
		_g_free0 (ps_name);
		_g_object_unref0 (g);
		_g_object_unref0 (gc);
		_g_free0 (n);
		_g_object_unref0 (fd);
		return;
	}
	_tmp13_ = fd;
	bird_font_font_data_add_ulong (_tmp13_, (guint32) 0, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		_g_object_unref0 (font);
		_g_string_free0 (name);
		_g_free0 (ps_name);
		_g_object_unref0 (g);
		_g_object_unref0 (gc);
		_g_free0 (n);
		_g_object_unref0 (fd);
		return;
	}
	_tmp14_ = fd;
	bird_font_font_data_add_ulong (_tmp14_, (guint32) 0, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		_g_object_unref0 (font);
		_g_string_free0 (name);
		_g_free0 (ps_name);
		_g_object_unref0 (g);
		_g_object_unref0 (gc);
		_g_free0 (n);
		_g_object_unref0 (fd);
		return;
	}
	_tmp15_ = fd;
	_tmp16_ = self->priv->glyf_table;
	_tmp17_ = _tmp16_->glyphs;
	_tmp18_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp17_);
	_tmp19_ = _tmp18_;
	bird_font_font_data_add_ushort (_tmp15_, (guint16) _tmp19_, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		_g_object_unref0 (font);
		_g_string_free0 (name);
		_g_free0 (ps_name);
		_g_object_unref0 (g);
		_g_object_unref0 (gc);
		_g_free0 (n);
		_g_object_unref0 (fd);
		return;
	}
	_tmp20_ = fd;
	bird_font_font_data_add_ushort (_tmp20_, (guint16) 0, &_inner_error0_);
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		_g_object_unref0 (font);
		_g_string_free0 (name);
		_g_free0 (ps_name);
		_g_object_unref0 (g);
		_g_object_unref0 (gc);
		_g_free0 (n);
		_g_object_unref0 (fd);
		return;
	}
	_tmp21_ = self->priv->index;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp21_, (gpointer) ((guintptr) 0));
	_tmp22_ = self->priv->names;
	_tmp23_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp22_);
	_tmp24_ = _tmp23_;
	_vala_assert (_tmp24_ == 0, "names.size == 0");
	bird_font_post_table_add_standard_names (self);
	{
		gint i = 0;
		i = 1;
		{
			gboolean _tmp25_ = FALSE;
			_tmp25_ = TRUE;
			while (TRUE) {
				BirdFontGlyfTable* _tmp27_;
				GeeArrayList* _tmp28_;
				gint _tmp29_;
				gint _tmp30_;
				BirdFontGlyfTable* _tmp31_;
				GeeArrayList* _tmp32_;
				gpointer _tmp33_;
				BirdFontGlyphCollection* _tmp34_;
				BirdFontGlyph* _tmp35_;
				BirdFontGlyph* _tmp36_;
				gboolean _tmp37_ = FALSE;
				GeeArrayList* _tmp64_;
				if (!_tmp25_) {
					gint _tmp26_;
					_tmp26_ = i;
					i = _tmp26_ + 1;
				}
				_tmp25_ = FALSE;
				_tmp27_ = self->priv->glyf_table;
				_tmp28_ = _tmp27_->glyphs;
				_tmp29_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp28_);
				_tmp30_ = _tmp29_;
				if (!(i < _tmp30_)) {
					break;
				}
				_tmp31_ = self->priv->glyf_table;
				_tmp32_ = _tmp31_->glyphs;
				_tmp33_ = gee_abstract_list_get ((GeeAbstractList*) _tmp32_, i);
				_g_object_unref0 (gc);
				gc = (BirdFontGlyphCollection*) _tmp33_;
				_tmp34_ = gc;
				_tmp35_ = bird_font_glyph_collection_get_current (_tmp34_);
				_g_object_unref0 (g);
				g = _tmp35_;
				_tmp36_ = g;
				name_index = bird_font_post_table_get_standard_index (self, _tmp36_->unichar_code);
				if (name_index != 0) {
					BirdFontGlyphCollection* _tmp38_;
					_tmp38_ = gc;
					_tmp37_ = !bird_font_glyph_collection_is_unassigned (_tmp38_);
				} else {
					_tmp37_ = FALSE;
				}
				if (_tmp37_) {
					BirdFontFontData* _tmp39_;
					_tmp39_ = fd;
					bird_font_font_data_add_ushort (_tmp39_, (guint16) name_index, &_inner_error0_);
					if (G_UNLIKELY (_inner_error0_ != NULL)) {
						g_propagate_error (error, _inner_error0_);
						_g_object_unref0 (font);
						_g_string_free0 (name);
						_g_free0 (ps_name);
						_g_object_unref0 (g);
						_g_object_unref0 (gc);
						_g_free0 (n);
						_g_object_unref0 (fd);
						return;
					}
				} else {
					BirdFontGlyphCollection* _tmp40_;
					gchar* _tmp41_;
					gchar* _tmp42_;
					const gchar* _tmp43_;
					gchar* _tmp44_;
					gchar* _tmp45_;
					GeeArrayList* _tmp46_;
					gint _tmp47_;
					gint _tmp48_;
					BirdFontFontData* _tmp49_;
					GString* _tmp50_;
					BirdFontGlyphCollection* _tmp51_;
					GString* _tmp59_;
					const gchar* _tmp60_;
					gchar* _tmp61_;
					GeeArrayList* _tmp62_;
					const gchar* _tmp63_;
					_tmp40_ = gc;
					_tmp41_ = bird_font_glyph_collection_get_name (_tmp40_);
					_tmp42_ = _tmp41_;
					_tmp43_ = string_to_string (_tmp42_);
					_tmp44_ = g_strconcat ("Adding non standard postscript name ", _tmp43_, "\n", NULL);
					_tmp45_ = _tmp44_;
					bird_font_printd (_tmp45_);
					_g_free0 (_tmp45_);
					_g_free0 (_tmp42_);
					_tmp46_ = self->priv->names;
					_tmp47_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp46_);
					_tmp48_ = _tmp47_;
					name_index = (gint) _tmp48_;
					_tmp49_ = fd;
					bird_font_font_data_add_ushort (_tmp49_, (guint16) name_index, &_inner_error0_);
					if (G_UNLIKELY (_inner_error0_ != NULL)) {
						g_propagate_error (error, _inner_error0_);
						_g_object_unref0 (font);
						_g_string_free0 (name);
						_g_free0 (ps_name);
						_g_object_unref0 (g);
						_g_object_unref0 (gc);
						_g_free0 (n);
						_g_object_unref0 (fd);
						return;
					}
					_tmp50_ = g_string_new ("");
					_g_string_free0 (name);
					name = _tmp50_;
					_tmp51_ = gc;
					if (bird_font_glyph_collection_is_unassigned (_tmp51_)) {
						GString* _tmp52_;
						BirdFontGlyph* _tmp53_;
						gchar* _tmp54_;
						gchar* _tmp55_;
						_tmp52_ = name;
						_tmp53_ = g;
						_tmp54_ = bird_font_font_display_get_name ((BirdFontFontDisplay*) _tmp53_);
						_tmp55_ = _tmp54_;
						g_string_append (_tmp52_, _tmp55_);
						_g_free0 (_tmp55_);
					} else {
						gunichar c = 0U;
						BirdFontGlyphCollection* _tmp56_;
						_tmp56_ = gc;
						c = bird_font_glyph_collection_get_unicode_character (_tmp56_);
						if (c < ((gunichar) 0xFFFF)) {
							GString* _tmp57_;
							_tmp57_ = name;
							g_string_printf (_tmp57_, "uni%04x", (guint) c);
						} else {
							GString* _tmp58_;
							_tmp58_ = name;
							g_string_printf (_tmp58_, "u%05x", (guint) c);
						}
					}
					_tmp59_ = name;
					_tmp60_ = _tmp59_->str;
					_tmp61_ = bird_font_post_table_create_ps_name (self, _tmp60_);
					_g_free0 (ps_name);
					ps_name = _tmp61_;
					_tmp62_ = self->priv->names;
					_tmp63_ = ps_name;
					gee_abstract_collection_add ((GeeAbstractCollection*) _tmp62_, _tmp63_);
				}
				_tmp64_ = self->priv->index;
				gee_abstract_collection_add ((GeeAbstractCollection*) _tmp64_, (gpointer) ((guintptr) name_index));
			}
		}
	}
	{
		gint i = 0;
		i = 258;
		{
			gboolean _tmp65_ = FALSE;
			_tmp65_ = TRUE;
			while (TRUE) {
				GeeArrayList* _tmp67_;
				gint _tmp68_;
				gint _tmp69_;
				GeeArrayList* _tmp70_;
				gpointer _tmp71_;
				const gchar* _tmp72_;
				gint _tmp73_;
				gint _tmp74_;
				BirdFontFontData* _tmp79_;
				const gchar* _tmp80_;
				gint _tmp81_;
				gint _tmp82_;
				BirdFontFontData* _tmp83_;
				const gchar* _tmp84_;
				if (!_tmp65_) {
					gint _tmp66_;
					_tmp66_ = i;
					i = _tmp66_ + 1;
				}
				_tmp65_ = FALSE;
				_tmp67_ = self->priv->names;
				_tmp68_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp67_);
				_tmp69_ = _tmp68_;
				if (!(i < _tmp69_)) {
					break;
				}
				_tmp70_ = self->priv->names;
				_tmp71_ = gee_abstract_list_get ((GeeAbstractList*) _tmp70_, i);
				_g_free0 (n);
				n = (gchar*) ((gchar*) _tmp71_);
				_tmp72_ = n;
				_tmp73_ = strlen (_tmp72_);
				_tmp74_ = _tmp73_;
				if (_tmp74_ > 0xFF) {
					const gchar* _tmp75_;
					const gchar* _tmp76_;
					gchar* _tmp77_;
					gchar* _tmp78_;
					_tmp75_ = n;
					_tmp76_ = string_to_string (_tmp75_);
					_tmp77_ = g_strconcat ("too long name for glyph ", _tmp76_, NULL);
					_tmp78_ = _tmp77_;
					g_warning ("PostTable.vala:1154: %s", _tmp78_);
					_g_free0 (_tmp78_);
					continue;
				}
				_tmp79_ = fd;
				_tmp80_ = n;
				_tmp81_ = strlen (_tmp80_);
				_tmp82_ = _tmp81_;
				bird_font_font_data_add (_tmp79_, (guint8) _tmp82_);
				_tmp83_ = fd;
				_tmp84_ = n;
				bird_font_font_data_add_str (_tmp83_, _tmp84_);
			}
		}
	}
	_tmp85_ = fd;
	bird_font_font_data_pad (_tmp85_);
	_tmp86_ = fd;
	_tmp87_ = _g_object_ref0 (_tmp86_);
	_g_object_unref0 (((BirdFontOtfTable*) self)->font_data);
	((BirdFontOtfTable*) self)->font_data = _tmp87_;
	_g_object_unref0 (font);
	_g_string_free0 (name);
	_g_free0 (ps_name);
	_g_object_unref0 (g);
	_g_object_unref0 (gc);
	_g_free0 (n);
	_g_object_unref0 (fd);
}

static gchar*
bird_font_post_table_create_ps_name (BirdFontPostTable* self,
                                     const gchar* name)
{
	gchar* valid_name = NULL;
	gchar* _tmp0_;
	const gchar* _tmp1_;
	GeeArrayList* _tmp9_;
	const gchar* _tmp10_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (name != NULL, NULL);
	_tmp0_ = bird_font_name_table_name_validation (name, FALSE, 0xFF);
	valid_name = _tmp0_;
	_tmp1_ = valid_name;
	if (g_utf8_strlen (_tmp1_, (gssize) -1) == 1) {
		const gchar* _tmp2_;
		const gchar* _tmp3_;
		const gchar* _tmp4_;
		gchar* _tmp5_;
		gchar* _tmp6_;
		const gchar* _tmp7_;
		gchar* _tmp8_;
		_tmp2_ = valid_name;
		_tmp3_ = string_to_string (_tmp2_);
		_tmp4_ = string_to_string (name);
		_tmp5_ = g_strconcat ("Too short name: ", _tmp3_, " generated from ", _tmp4_, NULL);
		_tmp6_ = _tmp5_;
		g_warning ("PostTable.vala:1171: %s", _tmp6_);
		_g_free0 (_tmp6_);
		_tmp7_ = valid_name;
		_tmp8_ = bird_font_post_table_add_suffix (self, _tmp7_);
		_g_free0 (valid_name);
		valid_name = _tmp8_;
	}
	_tmp9_ = self->priv->names;
	_tmp10_ = valid_name;
	if (gee_abstract_list_index_of ((GeeAbstractList*) _tmp9_, _tmp10_) > -1) {
		const gchar* _tmp11_;
		gchar* _tmp12_;
		_tmp11_ = valid_name;
		_tmp12_ = bird_font_post_table_add_suffix (self, _tmp11_);
		_g_free0 (valid_name);
		valid_name = _tmp12_;
	}
	result = valid_name;
	return result;
}

static gchar*
bird_font_post_table_add_suffix (BirdFontPostTable* self,
                                 const gchar* valid_name)
{
	gint i = 0;
	gchar* s = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (valid_name != NULL, NULL);
	i = 2;
	_tmp0_ = g_strdup_printf ("%i", i);
	_tmp1_ = _tmp0_;
	_tmp2_ = g_strconcat ("_", _tmp1_, NULL);
	_tmp3_ = _tmp2_;
	_tmp4_ = g_strconcat (valid_name, _tmp3_, NULL);
	_g_free0 (s);
	s = _tmp4_;
	_g_free0 (_tmp3_);
	_g_free0 (_tmp1_);
	while (TRUE) {
		GeeArrayList* _tmp5_;
		const gchar* _tmp6_;
		gint _tmp7_;
		gchar* _tmp8_;
		gchar* _tmp9_;
		gchar* _tmp10_;
		gchar* _tmp11_;
		gchar* _tmp12_;
		_tmp5_ = self->priv->names;
		_tmp6_ = s;
		if (!(gee_abstract_list_index_of ((GeeAbstractList*) _tmp5_, _tmp6_) > -1)) {
			break;
		}
		_tmp7_ = i;
		i = _tmp7_ + 1;
		_tmp8_ = g_strdup_printf ("%i", i);
		_tmp9_ = _tmp8_;
		_tmp10_ = g_strconcat ("_", _tmp9_, NULL);
		_tmp11_ = _tmp10_;
		_tmp12_ = g_strconcat (valid_name, _tmp11_, NULL);
		_g_free0 (s);
		s = _tmp12_;
		_g_free0 (_tmp11_);
		_g_free0 (_tmp9_);
	}
	result = s;
	return result;
}

static void
bird_font_post_table_class_init (BirdFontPostTableClass * klass,
                                 gpointer klass_data)
{
	bird_font_post_table_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &BirdFontPostTable_private_offset);
	G_OBJECT_CLASS (klass)->finalize = bird_font_post_table_finalize;
}

static void
bird_font_post_table_instance_init (BirdFontPostTable * self,
                                    gpointer klass)
{
	GeeArrayList* _tmp0_;
	GeeArrayList* _tmp1_;
	self->priv = bird_font_post_table_get_instance_private (self);
	_tmp0_ = gee_array_list_new (G_TYPE_UINT, NULL, NULL, NULL, NULL, NULL);
	self->priv->index = _tmp0_;
	_tmp1_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
	self->priv->names = _tmp1_;
}

static void
bird_font_post_table_finalize (GObject * obj)
{
	BirdFontPostTable * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BIRD_FONT_TYPE_POST_TABLE, BirdFontPostTable);
	_g_object_unref0 (self->priv->glyf_table);
	_g_object_unref0 (self->priv->index);
	_g_object_unref0 (self->priv->names);
	G_OBJECT_CLASS (bird_font_post_table_parent_class)->finalize (obj);
}

static GType
bird_font_post_table_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (BirdFontPostTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) bird_font_post_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BirdFontPostTable), 0, (GInstanceInitFunc) bird_font_post_table_instance_init, NULL };
	GType bird_font_post_table_type_id;
	bird_font_post_table_type_id = g_type_register_static (BIRD_FONT_TYPE_OTF_TABLE, "BirdFontPostTable", &g_define_type_info, 0);
	BirdFontPostTable_private_offset = g_type_add_instance_private (bird_font_post_table_type_id, sizeof (BirdFontPostTablePrivate));
	return bird_font_post_table_type_id;
}

GType
bird_font_post_table_get_type (void)
{
	static volatile gsize bird_font_post_table_type_id__once = 0;
	if (g_once_init_enter (&bird_font_post_table_type_id__once)) {
		GType bird_font_post_table_type_id;
		bird_font_post_table_type_id = bird_font_post_table_get_type_once ();
		g_once_init_leave (&bird_font_post_table_type_id__once, bird_font_post_table_type_id);
	}
	return bird_font_post_table_type_id__once;
}

static inline gpointer
_vala_memdup2 (gconstpointer mem,
               gsize byte_size)
{
	gpointer new_mem;
	if (mem && byte_size != 0) {
		new_mem = g_malloc (byte_size);
		memcpy (new_mem, mem, byte_size);
	} else {
		new_mem = NULL;
	}
	return new_mem;
}

