id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,drp_resources,i_links,o_links,remaining_time,sprint 4469,Model: font attributes,jburel,jburel,"Review the font attributes We currently have * !fontStyle describing a mix of font style and font weight. * fontFamily describing font. The terms we have in fontFamily are probably wrong, but the miss-use is very common. In general use on the web they can either be a specific font family name (e.g.Times, or Ariel) or a generic family name. Thought in HTML/CSS you can list several in the attribute and they will be used in order if available on the system. This is nice and flexible but leads for complex string you need to parse. From the CSS/HTML spec suitable generic values are: * serif * sans-serif * cursive * fantasy * monospace After compiling the font mapping file I recommend we need to have an enum of: * serif * sans-serif * cursive * fantasy * monospace The value we have for fontStyle is not correct either. We are using it as a combination for style and weight. From the CSS/HTML spec suitable values for style are: * normal * italic * oblique I had to check what the difference between italic and oblique was. Oblique is the normal letter shapes but slanted forward. Italic is also slanted forward but has different (normally more curved/flowing) letter shapes. From the CSS/HTML spec suitable values for weight are: * normal * bold * bolder * lighter * or a numeric value from (100,200,300,400,500,600,700,800,900) I recommend we just need to have an attribute called perhaps fontStyleAndWeight using an enum of: * normal * italic * bold * bolditalic ---- == Decision == * Merge fontStyle and fontWeight. Keep fontStyle. Update clients (#4836), schema and DB (see #4398) The decision to keep fontStyle means that the minimum change will be made to it to keep it in line with the above recommendation. This means it will retain it current capitalisation and have 'Regular' replace by 'Normal'. The resultant enum will contain: * Normal * Italic * Bold * !BoldItalic * Model: fontFamily will use enumeration cf. values above. Define enumeration in model * For upgrade: Provide mapping for fontFamily (andrew) A mapping has been generated - see attachment. This covers all the common fonts (web, windows standard, mac standard, and open source used by linux variants & open office) All the mapping are simple except for ""Modern"" which can be 3 different things. * Windows API Modern = monospace * General Modern = serif * Mac Modern = sans-serif",task,closed,minor,OMERO-Beta4.3,Model,,fixed,,wmoore dzmacdonald ajpatterson jamoore,,,,0,2011-05-05 (11)