Re: Standardize Font Appearance

2022-09-13 Thread Neville Smythe via use-livecode
I agree Richard text management is a lot better than it used to be but problems 
remain. 

Text strings on Windows standalones used to be longer than on Mac. It was a 
painful process to find a label which had been clipped in Windows, fix it in 
the Mac IDE, compile, copy to a Windows box, only to find another label that 
hadn’t been supplied with enough padding so back the drawing board. If you were 
developing on Windows you didn’t see this problem, since Mac strings were 
shorter. I am pretty sure this problem has gone away, strings rendered in a 
TrueType font on Mac and Windows now have the same length. [Was this really a 
fix in LC, or a change in the Windows 10 font engine? If the LC team did it I 
am lost in admiration, a fantastic piece of work! I thought LC just left it to 
the operating system to draw the text.] On Linux however the problem remains, 
strings can be longer or shorter than on the other platforms.

Vertical placement is the remaining problem: strings in Windows typically 
appear 2 or 3 pixels below the Mac equivalent. Mostly this is a trivial 
problem. But it can cause havoc if your interface has closely packed items. I 
offer the following fable as a demonstration.

I am working on a Mac, designing an app for deployment on Mac and Windows. I 
select a stock-standard label object, drawn as a box with a border thickness 1 
pixel. If I leave the default font to (Message) then the fonts used will be 
different on the two platforms, and I don’t want that. I have a fondness for 
smallish 12pt labels and Times New Roman font. Shouldn’t be a problem since 
Times New Roman exists on Windows (not on Linux of course). They won’t look 
*exactly* the same because the device resolutions and antaliasing algorithms 
are different etc, but only a perfectionist would care, and I know the text 
won’t be clipped because the lengths are same (not on Linux of course, even if 
I instal Time New Roman) Hmm, the text, which was nicely vertically centered in 
its box, has moved up a bit, I wonder why? Easily fixed, just set the top 
margin to 9, yes that is just right. Now  I need a text field next to my label, 
with the baseline of the text aligned with the label text. But the font for 
this field has to be different, say Arial 36pt (Arial is course is installed on 
Windows. Not on Linux of course.). Gee, the text which was pretty much aligned 
is now way out of kilter. There is no IDE command to align text, but easily 
fixed, just move the field up a bit. Finally I want to draw a red line just 
under the two text strings, at the point where LC would draw text baselines.

You can see screen grabs of the resulting Mac and Windows standalones at
https://www.dropbox.com/s/v2hzwe159ep6nep/My%20beautiful%20app%20on%20Mac.png?dl=0
 


https://www.dropbox.com/s/wr2limdozwob9v7/My%20beautiful%20app%20on%20Windows.png?dl=0
 


Or you can read the reviews from the influential Good Design Now! magazine

Mac review: Everything looks fine. Simple, boring interface. -1 for the retro 
box and -1 for mixing fonts. 3 stars.

Windows review: Wow! Quirky unbalanced placing of the label in its box. 
Fashionable haphazard alignment of text. And an ultramodern red line slashing 
through the text. An (unintended) brilliancy. 5 stars. (But if that red line 
had been a more substantial object, text would have been clipped, 0 stars.)

Neville


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Standardize Font Appearance

2022-09-13 Thread Quentin Long via use-livecode
sez Richard Gaskin:
> So help me understand: what are you working on where a user expects > 
> fine-grained font rendering consistency on multiple OSes? What do these > 
> apps do?> > Do your users switch OSes during a session, or work on Windows by 
> day > and Mac at night?  How many also use Linux in that multi-OS workflow?
For me, it was mostly a matter of two questions.
First: Wouldn't it be nice *if* we could somehow do stuff with fonts and just 
have them *be* identical cross-platform? My answer: Yes, that *is* technically 
possible—
Second: Exactly how big of a hassle *would* it be to Just Have Fonts Identical 
Cross-Platform? My answer: —but good god, it's *so* much of a fucking PITA that 
I can't imagine why anyone would *bother*.
I'm rather an odd duck, in that I don't write code for a living; I don't even 
have any financial interests which are dependent on my being able to whip up 
code on schedule/deadline. So I suspect I may have summat more freedom to fart 
around and experiment than do the *real* code jockeys hereabouts. As well, the 
only user *I* have to worry about is *me*, which renders lots of issues, er, 
*non*-issues, as far as I'm concerned.


"Bewitched" + "Charlie's Angels" - Charlie = "At Arm's Length"Read the webcomic 
at [ http://www.atarmslength.net ]!If you like "At Arm's Length", support it at 
[ http://www.patreon.com/DarkwingDude ].
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Standardize Font Appearance

2022-09-13 Thread Alex Tweedly via use-livecode


On 13/09/2022 03:51, Richard Gaskin via use-livecode wrote:


So help me understand: what are you working on where a user expects 
fine-grained font rendering consistency on multiple OSes? What do 
these apps do?


One example that (almost) applied for me was where the target display is 
not an OS, and indeed the viewer doesn't think they are looking at a 
'computer', e.g. an information display in a museum.


I started doing something like this for a local organisation, but their 
funding never materialized. But while talking about it, they had no idea 
whether they'd use Macs or PCs or most likely both, and  they expected 
it to look the same regardless, and they wanted the content creator (who 
would typically only have one of the platforms to try it out on) to be 
able to get a good idea of how things would look.


Alex.


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Standardize Font Appearance

2022-09-13 Thread Bob Sneidar via use-livecode
I already leave a bit of air around my controls. Something I learned from a 
design guy years ago.

Bob S


On Sep 13, 2022, at 11:40 , Richard Gaskin via use-livecode 
mailto:use-livecode@lists.runrev.com>> wrote:

> Perhaps what would be useful is if there was an Autofit property for
> fields that would adjust the width and height of a field, instead of
> having to manually do it. Otherwise I can do it programmatically.

It would be more convenient to have a property to set the width to the 
formattedWidth, but it raises another question: what do you do with the space 
saved?

That is, if the layout it too tight to allow some extra space in a label field 
to accommodate the different HIG specs for each platform, when a field is 
automatically readjusted as proposed then wouldn't you also need to adjust 
surrounding controls to take advantage of the change?

--
Richard Gaskin
Fourth World Systems

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Standardize Font Appearance

2022-09-13 Thread Richard Gaskin via use-livecode

Bob Sneidar wrote:

> On Sep 12, 2022, at 19:51 , Richard Gaskin wrote:
>> The team worked hard in v9 to deliver font management in a way that
>> makes it easier than ever to deliver apps that meet user expectations
>> and OS design specs on the platforms deployed to.  Mac looks like
>> Mac, Win looks like Win, all with one font setting.
>>...
>> So help me understand: what are you working on where a user expects
>> fine-grained font rendering consistency on multiple OSes? What do
>> these apps do?
>>
>> Do your users switch OSes during a session, or work on Windows by day
>> and Mac at night?  How many also use Linux in that multi-OS workflow?
>
>
> For me it's simple. I want the same baseline and alignment on two
> platforms I work with, MacOS and Windows, when using an embedded font.
> ...I just want a label that has the width and height auto fitted on a
> Mac to not be cut off on Windows.

Thanks. I can see that, esp. since the HIGs for Mac and Win specify 
different font sizes.


I've been including a little extra space to allow for that, and with 
alignment set well (left-aligned for full-row headers, right-aligned per 
HIG for form field labels) it's been working well enough.


But this suggestion may help with some layouts:

> Perhaps what would be useful is if there was an Autofit property for
> fields that would adjust the width and height of a field, instead of
> having to manually do it. Otherwise I can do it programmatically.

It would be more convenient to have a property to set the width to the 
formattedWidth, but it raises another question: what do you do with the 
space saved?


That is, if the layout it too tight to allow some extra space in a label 
field to accommodate the different HIG specs for each platform, when a 
field is automatically readjusted as proposed then wouldn't you also 
need to adjust surrounding controls to take advantage of the change?


--
 Richard Gaskin
 Fourth World Systems





___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Standardize Font Appearance

2022-09-13 Thread Bob Sneidar via use-livecode
For me it's simple. I want the same baseline and alignment on two platforms I 
work with, MacOS and Windows, when using an embedded font. My particular issue 
is I think a bug and I am reminded to send Panos a sample stack demonstrating 
the issue. EXACT PRECICE EQUIVALENCE of font appearance is not my goal, and I 
don't think can ever be accomplished, due to the reasons cited before. I just 
want a label that has the width and height auto fitted on a Mac to not be cut 
off on Windows.

Perhaps what would be useful is if there was an Autofit property for fields 
that would adjust the width and height of a field, instead of having to 
manually do it. Otherwise I can do it programmatically.

Bob S


On Sep 12, 2022, at 19:51 , Richard Gaskin via use-livecode 
mailto:use-livecode@lists.runrev.com>> wrote:

This discussion has been very interesting to me.

The team worked hard in v9 to deliver font management in a way that makes it 
easier than ever to deliver apps that meet user expectations and OS design 
specs on the platforms deployed to.  Mac looks like Mac, Win looks like Win, 
all with one font setting.  I used to have to work really hard with all sorts 
of workarounds to get that platform-savvy look, and now with the team's efforts 
with v9 it's a snap.

Of course we all use the web, and I used to subscribe to CD-ROM publications 
that deliver textual content for multiple platforms.  So I see the value in 
getting heading and body content in text-focused content-driven apps to look 
reasonably on-brand across platforms. But in all my native and web dev reading 
over the decades I don't think I've seen this much effort expended toward 
attempting to get near-perfect parity for text appearance across platforms 
(except for prepress, but that's another era).

But I know you folks. You wouldn't put in this kind of effort if it wasn't 
useful.

So help me understand: what are you working on where a user expects 
fine-grained font rendering consistency on multiple OSes? What do these apps do?

Do your users switch OSes during a session, or work on Windows by day and Mac 
at night?  How many also use Linux in that multi-OS workflow?

--
Richard Gaskin
Fourth World Systems
Software Design and Development for the Desktop, Mobile, and the Web

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode