# Underlining text

**URL:** <https://forum.inductiveautomation.com/t/underlining-text/93411>\
**Category:** Ignition\
**Tags:** vision\
**Created:** [July 18, 2024, 4:12pm UTC](https://forum.inductiveautomation.com/t/underlining-text/93411 "2024-07-18T16:12:25Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dustin\_VanKeuren](https://avatars.discourse-cdn.com/v4/letter/d/b782af/32.png) [@Dustin\_VanKeuren](https://forum.inductiveautomation.com/u/Dustin_VanKeuren)\
**Post date:** [July 18, 2024, 4:12pm UTC](https://forum.inductiveautomation.com/t/underlining-text/93411/1 "2024-07-18T16:12:25Z")

</div>

Typed Underlining in the help, no hits. Typed underlining in the topic search...

Why is underline not in the font dialog like it should be? You know like 99.99999999% of other applications?

It's like going to the dairy section to find cottage cheese and finding out they put cottage cheese in the produce section.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 18, 2024, 4:14pm UTC](https://forum.inductiveautomation.com/t/underlining-text/93411/2 "2024-07-18T16:14:39Z")

</div>

Can you be a little more specific? Vision? Perspective? What component?

---

<div class="post-metadata">

**Author:** ![Mark\_Minuth](https://avatars.discourse-cdn.com/v4/letter/m/d78d45/32.png) [@Mark\_Minuth](https://forum.inductiveautomation.com/u/Mark_Minuth)\
**Post date:** [July 18, 2024, 4:23pm UTC](https://forum.inductiveautomation.com/t/underlining-text/93411/3 "2024-07-18T16:23:40Z")

</div>

After running into this issue in Vision quite a lot, I found you can just put `<html><u>` in front of the text and it works.

---

<div class="post-metadata">

**Author:** ![Dustin\_VanKeuren](https://avatars.discourse-cdn.com/v4/letter/d/b782af/32.png) [@Dustin\_VanKeuren](https://forum.inductiveautomation.com/u/Dustin_VanKeuren)\
**Post date:** [July 18, 2024, 4:23pm UTC](https://forum.inductiveautomation.com/t/underlining-text/93411/4 "2024-07-18T16:23:54Z")

</div>

Honestly should not matter where. However, i was trying to underline text in a Vision button.

---

<div class="post-metadata">

**Author:** ![Dustin\_VanKeuren](https://avatars.discourse-cdn.com/v4/letter/d/b782af/32.png) [@Dustin\_VanKeuren](https://forum.inductiveautomation.com/u/Dustin_VanKeuren)\
**Post date:** [July 18, 2024, 4:25pm UTC](https://forum.inductiveautomation.com/t/underlining-text/93411/5 "2024-07-18T16:25:58Z")

</div>

Yeah, but that seems to me to be bad design. Sure, I understand the power of being able to do that, but 90% of the time we are just looking to do simple things, ya know?

---

<div class="post-metadata">

**Author:** ![pascal.fragnoud](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pascal.fragnoud/32/24728_2.png) [@pascal.fragnoud](https://forum.inductiveautomation.com/u/pascal.fragnoud)\
**Post date:** [July 18, 2024, 4:30pm UTC](https://forum.inductiveautomation.com/t/underlining-text/93411/6 "2024-07-18T16:30:14Z")

</div>

Because we don't underline things in HMIs.

---

<div class="post-metadata">

**Author:** ![Dustin\_VanKeuren](https://avatars.discourse-cdn.com/v4/letter/d/b782af/32.png) [@Dustin\_VanKeuren](https://forum.inductiveautomation.com/u/Dustin_VanKeuren)\
**Post date:** [July 18, 2024, 4:30pm UTC](https://forum.inductiveautomation.com/t/underlining-text/93411/7 "2024-07-18T16:30:55Z")

</div>

Well, sometimes you DO underline things in HMIs.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [July 18, 2024, 4:32pm UTC](https://forum.inductiveautomation.com/t/underlining-text/93411/8 "2024-07-18T16:32:16Z")

</div>

Boring technical details you probably don't really care about:  
Vision is a _very_ thin layer over Java Swing. For better or worse, we're locked in to that technical decision made ~15 years ago. Swing has exactly threes styles for fonts: [plain, bold, and italic](https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/java/awt/Font.html#PLAIN).

We could potentially do something to paper over this lack of underline.  
Option A: We quietly do what @Mark_Minuth suggested, "under the hood". This would run the risk of interfering with anyone's project that's already manually using Swing's limited HTML support for some other purpose. Swing's HTML support also adds non-zero overhead to painting, and doing it quietly risks a performance footgun.  
Option B: We intercede in the painting process of _literally every Swing component_ to manually add underlining when drawing strings, per some component property. This would be a large effort for extremely minimal gain, in a product that is considered more or less feature complete at this point.

Technical details over.

I can empathize with your frustration when something that _feels_ like it should be simple isn't available to you. I don't have a solution to offer you. At least we're just missing underlines, and not something more crucial.

---

<div class="post-metadata">

**Author:** ![Dustin\_VanKeuren](https://avatars.discourse-cdn.com/v4/letter/d/b782af/32.png) [@Dustin\_VanKeuren](https://forum.inductiveautomation.com/u/Dustin_VanKeuren)\
**Post date:** [July 18, 2024, 4:33pm UTC](https://forum.inductiveautomation.com/t/underlining-text/93411/9 "2024-07-18T16:33:32Z")

</div>

Thank you for the technical answer. i appreciate it.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [July 18, 2024, 4:35pm UTC](https://forum.inductiveautomation.com/t/underlining-text/93411/10 "2024-07-18T16:35:53Z")

</div>

> [@paul-griffith](#):
>
> more or less feature complete

And both _ **stable** _ and _ **performant** _. That's worth a great deal to me and my clients.

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [July 18, 2024, 6:12pm UTC](https://forum.inductiveautomation.com/t/underlining-text/93411/11 "2024-07-18T18:12:16Z")

</div>

> [@Dustin\_VanKeuren](#):
>
> ... sometimes you DO underline things in HMIs.

In general, underlining screams "designed by an amateur". Have a look around you. You won't find it in professionally designed books, magazines, TV captions, advertising, websites, etc., or on properly designed HMIs. The underline cuts through descenders on lowercase letters ( q y p g j )and makes a mess of them. Use bold and italics sparingly for best effect. The only exceptions I would allow would be hyperlinks and hot-key Alt shortcuts (File, Save, Save As ...).

I think that underline was popularised by typists and, perhaps, in school where it was a quick way to apply emphasis to hand-written text.

---

<div class="post-metadata">

**Author:** ![Dustin\_VanKeuren](https://avatars.discourse-cdn.com/v4/letter/d/b782af/32.png) [@Dustin\_VanKeuren](https://forum.inductiveautomation.com/u/Dustin_VanKeuren)\
**Post date:** [February 12, 2025, 2:57pm UTC](https://forum.inductiveautomation.com/t/underlining-text/93411/12 "2025-02-12T14:57:18Z")

</div>

That is quite the elitist response. I do not care what the so called "professionals" think. I care that the operators see what they need to be seeing, and sometimes that requires a word or two to be underlined.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [February 12, 2025, 3:10pm UTC](https://forum.inductiveautomation.com/t/underlining-text/93411/13 "2025-02-12T15:10:48Z")

</div>

> [@Dustin\_VanKeuren](#):
>
> _ **requires** _

{ My emphasis. }

Sorry, not buying it. ( Seven months later? )
