text outlines
#16
Really? Then this would be another feature I'd like to see. Even CSS has properties that allow you to control letter spacing and line height. In my opinion these are quite essential, especially when dealing with multiline text.
Image
Reply
#17
You can already set height spaceline in font.xml
Reply
#18
(2014-03-19, 16:33)Jeroen Wrote: We can't adjust letter spacing to the best of my knowledge. Increasing the font size more wouldn't do much good anyway. Thickness or thinness isn't the problem, the positioning is.

You could have the outline as two controls behind the main one - one offset -1, -1 and the other 1,1
Example:
Code:
<control type="label">
  <font>Font13</font>
  <posx>-1</posx>
  <posy>-1</posy>
  <label>Foobar</label>
  <textcolor>Outline</textcolor>
</control>
<control type="label">
  <font>Font13</font>
  <posx>1</posx>
  <posy>1</posy>
  <label>Foobar</label>
  <textcolor>Outline</textcolor>
</control>
<control type="label">
  <font>Font13</font>
  <posx>0</posx>
  <posy>0</posy>
  <label>Foobar</label>
  <textcolor>MainLabel</textcolor>
</control>

Though it would be nice to do it with one line of code instead of something as clumsy as this.


(2014-03-19, 20:01)toolpunk Wrote: Really? Then this would be another feature I'd like to see. Even CSS has properties that allow you to control letter spacing and line height. In my opinion these are quite essential, especially when dealing with multiline text.

Like what butchabay said, we can already do linespacing and aspect (changes width to height ratio) -- http://wiki.xbmc.org/?title=Fonts
However, letter spacing would be nice.
Arctic Fuse - Alpha now available. Support me on Ko-fi.
Reply
#19
The method of @jurialmunkey is exactly what we used to do. (We used to even use more copies for subtitles or large fonts).

Now we basically render twice - once with an expanded outline, and once without. Now that I think about it, the expanded outline stuff could probably be hacked into the same stuff as bold/italics, but you'd need to use 2 label controls, and I'm guessing that you'd have issues with anything that relies on alignment or scrolling, as the size of those labels would differ due to the expanded outline.

An alternate that I hadn't thought of until now is somehow incorporating it into the existing font stuff, so the outline for 'A' would be rendered into the font texture as well as 'A', then we'd render them both for character 'A'. It would slightly swell the sizing of the textures is the only problem, as we'd need to inflate the sizing a bit to allow this. The outline size would likely be unadjustable, but you could tell it to outline a single word in a label.

I guess it comes down to what is more useful: The ability to outline a part of an existing label, or the ability to outline an entire label with various different outline sizes. I'm guessing that the latter probably isn't actually a useful thing to have much control over (outline size).

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#20
Probably it would be possible to use just two labels and one of them as bold
PHP Code:
[b] [/b
to get the outlines. Or just use two different fonts (regular and bold) as a "Workaround".
Reply
#21
Bolding will also increase a font's width and knock each consecutive letter out.
Reply
#22
(2014-03-20, 22:22)jmarshall Wrote: The method of @jurialmunkey is exactly what we used to do. (We used to even use more copies for subtitles or large fonts).

Now we basically render twice - once with an expanded outline, and once without. Now that I think about it, the expanded outline stuff could probably be hacked into the same stuff as bold/italics, but you'd need to use 2 label controls, and I'm guessing that you'd have issues with anything that relies on alignment or scrolling, as the size of those labels would differ due to the expanded outline.

An alternate that I hadn't thought of until now is somehow incorporating it into the existing font stuff, so the outline for 'A' would be rendered into the font texture as well as 'A', then we'd render them both for character 'A'. It would slightly swell the sizing of the textures is the only problem, as we'd need to inflate the sizing a bit to allow this. The outline size would likely be unadjustable, but you could tell it to outline a single word in a label.

I guess it comes down to what is more useful: The ability to outline a part of an existing label, or the ability to outline an entire label with various different outline sizes. I'm guessing that the latter probably isn't actually a useful thing to have much control over (outline size).

Cheers,
Jonathan

To me personally it would depend on what it would look like by default in the former, the thickness of the outline in particular. I think being able to control the outline size would matter to me, purely for aesthetic reasons (would the color of the outline be controllable btw? Being able to control that would partly make up for no control in thickness) In most places where I would want to use outlines scrolling wouldn't be a factor, and neither would alignment.
But of course I'm not the only skinner around here, and if the latter provides a better base for future development / finetuning that of course is a consideration too.
Reply
#23
I see no reason why the outline colour (or shadow colour for that matter) need be hardcoded as black, so sure, you'd have control over that.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#24
Coming back to this - is there still no way to do this natively without hacking around?
Reply
#25
Nope.
Reply

Logout Mark Read Team Forum Stats Members Help
text outlines0