delphi - Why are condensed fonts not displayed properly in FireMonkey? -


(and can it?)

if create 2 labels in vcl , set 1 use arial , arial narrow i'll see expected result.

enter image description here

if same in firemonkey, second label not displayed in arial narrow. not displayed in arial (dots on i's round, shape of 's' wrong etc.).

enter image description here

does know why fm (i testing delphi xe4) not displaying font properly? there can it?

source vcl form:

object form3: tform3   left = 0   top = 0   caption = 'form3'   clientheight = 198   clientwidth = 475   color = clbtnface   font.charset = default_charset   font.color = clwindowtext   font.height = -11   font.name = 'tahoma'   font.style = []   oldcreateorder = false   pixelsperinch = 96   textheight = 13   object label1: tlabel     left = 24     top = 32     width = 134     height = 14     caption = 'this label using arial @11'     font.charset = default_charset     font.color = clwindowtext     font.height = -11     font.name = 'arial'     font.style = []     parentfont = false   end   object label2: tlabel     left = 24     top = 52     width = 152     height = 15     caption = 'this label using arial narrow @11'     font.charset = default_charset     font.color = clwindowtext     font.height = -11     font.name = 'arial narrow'     font.style = []     parentfont = false   end   object label3: tlabel     left = 24     top = 98     width = 398     height = 36     caption = 'this label using arial @32'     font.charset = default_charset     font.color = clwindowtext     font.height = -32     font.name = 'arial'     font.style = []     parentfont = false   end   object label4: tlabel     left = 24     top = 140     width = 429     height = 37     caption = 'this label using arial narrow @32'     font.charset = default_charset     font.color = clwindowtext     font.height = -32     font.name = 'arial narrow'     font.style = []     parentfont = false   end end 

source fm form:

object form4: tform4   left = 0   top = 0   caption = 'form4'   clientheight = 207   clientwidth = 558   formfactor.width = 320   formfactor.height = 480   formfactor.devices = [dkdesktop, dkiphone, dkipad]   designermobile = false   designerwidth = 0   designerheight = 0   designerdevicename = ''   designerorientation = 0   object label1: tlabel     font.family = 'arial'     styledsettings = [sssize, ssstyle, ssfontcolor]     height = 17.000000000000000000     position.x = 16.000000000000000000     position.y = 32.000000000000000000     text = 'this label using arial @11'     width = 225.000000000000000000   end   object label2: tlabel     font.family = 'arial narrow'     styledsettings = [sssize, ssstyle, ssfontcolor]     height = 17.000000000000000000     position.x = 16.000000000000000000     position.y = 48.000000000000000000     text = 'this label using arial narrow @11'     width = 225.000000000000000000   end   object label3: tlabel     font.family = 'arial'     font.size = 32.000000000000000000     styledsettings = [ssstyle, ssfontcolor]     height = 41.000000000000000000     position.x = 16.000000000000000000     position.y = 104.000000000000000000     text = 'this label using arial @32'     width = 433.000000000000000000   end   object label4: tlabel     font.family = 'arial narrow'     font.size = 32.000000000000000000     styledsettings = [ssstyle, ssfontcolor]     height = 65.000000000000000000     position.x = 16.000000000000000000     position.y = 128.000000000000000000     text = 'this label using arial narrow @32'     width = 545.000000000000000000   end end 

this seems affect fonts within families - if font not exist in fonts folder under own family name. arial narrow, example, font within "arial" font file (it exists within family , not, per se, family unto itself).

typically font family include 4 styles

arial (naively contains)

  • arial regular
  • arial bold
  • arial italic
  • arial bold italic

"arial narrow", however, exists within "arial" family alongside standard styles - ie :

arial (actually contains)

  • arial regular
  • arial bold
  • arial italic
  • arial bold italic
  • arial narrow
  • arial narrow bold
  • arial narrow italic
  • arial narrow bold italic
  • arial black

it seems fmx looking 1 level deep within given font family , not looking @ style variant deviates strict gdi+ style definitions (regular, bold, italic, bold italic).

this also, inspection, affects arial black - other examples easy find running through fonts folder. franklin gothic demi, gill sans ultra bold, etc... follows above pattern. font seems rendered in default segoe ui when these fonts encountered.

a stopgap solution use arial , set scale property x=0.82 - it's not perfect, it's quite close arial narrow.

arial stretch vs arial narrow

this bug , should qc'd.


Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -