- if(name_id==1) {
- if(ttf->family_name) free(ttf->family_name);
- ttf->family_name = readString(&s, len);
- }
- if(name_id==2) {
- if(ttf->subfamily_name) free(ttf->subfamily_name);
- ttf->subfamily_name = readString(&s, len);
- }
- if(name_id==3) {
- if(ttf->version_string) free(ttf->version_string);
- ttf->version_string = readString(&s, len);
+ switch (name_id) {
+ case 1: read_name = &ttf->family_name; break;
+ case 2: read_name = &ttf->subfamily_name; break;
+ case 3: read_name = &ttf->font_uid; break;
+ case 4: read_name = &ttf->full_name; break;
+ case 5: read_name = &ttf->version_string; break;
+ case 6: read_name = &ttf->postscript_name; break;
+ default: read_name = 0;