How not to maintain a news form



  • @Random832 said:

    @makomk said:
    @Random832 said:
    @Thief^ said:

    EDIT: IIRC VB.net confuses the issue by working in typographic points (1/1000th inch) instead of the "cardboard points" that the rest of windows uses (1/72nd inch).

    VB.net works in points (typographic, 1/72 inch) - VB prior to .net, used "twips" (1/20 point) 

    If you want to keep your sanity intact, you won't attempt to find out what units Office Open XML, the document format Microsoft is currently trying to push through ISO, uses. (Hint: it depends. I have to admit, they've done a good job of coming up with lots of named units based on fractions of an inch.)

    Found some info:

    http://www.grokdoc.net/index.php/EOOXML_objections#Fabricates_units_of_measurement

    EMU, "English Metric Units" = 1/91440 inch = 1/36000 cm = 1/1270 pt

    is probably what you're referring to - at least it seems relatively obvious what the purpose of this unit is. It can express sixteenths of an inch, halves of a point, hundredths of a millimeter, oddly though not twips, all as a whole number, and it can express smaller fractions (of numbers whose only factor is 2 or 5, at least) of either without risking infinite repeating (what's 1/2.54?). The twip is not fabricated, or, at least, not fabricated recently.

    On the other hand "In contrast, for example, the W3C SVG and W3C CSS standards both
    consistently use a single notation—decimal percentages followed by
    the "%" symbol—s described in section 7.10 of the W3C SVG 1.1
    specification and section 4.3.3 of the CSS 2.1 specification." seems spurious. CSS, at least, uses other notations inconsistently - you use 0.50, not 50% for opacity, for example, and a decimal (and hexadecimal) number that is 1/255th [not 1/256th, even] of 100%

    Ah, but opacity is a type of colour value, and for hysterical reasons they're usually represented on a 0-1.0 or 0-255 scale. (It'd be nice if they could pick one or the other, though.)

    In any case, the real WTF is stuff like "For table borders, the w:sz attribute is specified in eighths of a point, unless the border style is an art border, in which case the width is in points", which seems a bit odd. (Also, they apparently use points (1/72), half-points (1/144), eighths of points (1/576), twips (1/1440), hundredths of points (1/7200), and EMUs (1/91440) - and that's just the inch-based units listed in the document you linked to.)



  • @Thief^ said:

    So many programs in windows assume points = pixels. Windows defaults to 72 dpi, and changing it makes everything specified in "points" scale, and everything specified in "pixels" stay the same size. Most non-Microsoft programs f*** up completely, because you get window sizes specified in pixels with buttons sized in points, or a label sized in pixels with the font on it in points, so you can't read half of it.
    Don't put all the blame on non-MS programs - at least Outlook 2000 had several problems when DPI wasn't set to 72, and I recently noticed that Sound Recorder doesn't like 120DPI either.



  • I never said MS programs didn't have problems, although I implied that few do :)



  • Windows defaults to 96dpi.

    Changing it will fuck everything up, from icons to web graphics -- unresampled, even! It's safe to say that Windows just does not support changing the dpi.

    How does Vista hold up? 



  • Indeed, it must have been older OSs that used 72dpi. Still, they were/are both guessing at the size of an inch, and the older OSs 72dpi = XP's 96dpi (in that at that setting font points equal pixels).

    96dpi isn't far off accurate though, the 17" 1440x900 TFT display I'm using now works out at 89dpi and my new 22" 1680x1050 TFT display is 90dpi.

    A typical 17" CRT had a 16" picture at 1024x768 (80dpi), 1152x864 (90dpi), or 1280x960 (100dpi). I never understood why people tried to run 4:3 CRTs at 1280x1024, it produced horrible flicker and the images on-screen were squashed.

    EDIT: By flicker I'm not referring to the lowered refresh rate (though that is a factor), most CRTs couldn't keep the image stable at that vertical resolution and it would wobble slightly all the time. There's no problem with using 60Hz on a TFT because they don't display black in between frames, so they don't flicker like a CRT, and that causes much less eye strain too.

    Anything made with Vista's new drawing API should scale with the DPI setting correctly, as any demonstration of using Vista's magnifier on one of these programs shows (it actually draws larger instead of enlarging the pixels).



  • @Thief^ said:

    I never understood why people tried to run 4:3 CRTs at 1280x1024, it produced horrible flicker and the images on-screen were squashed.

    Much like the DPI insanity, historical defects in Windows have inspired ignorance in users. Back in some early version around win95, the display settings dialog would normally show the same set of choices of resolutions regardless of video driver: 640x480, 800x600, 1024x768, 1280x1024, and 1600x1200. The problem being that 1280x1024, stuck in the middle there, was just plain wrong for most displays of the era: it should have said 1280x960. A later version added the missing resolution, but by then the damage was done, and people had got "1280x1024" stuck in their heads and would avoid 1280x960 because "it's not as big".

    Modern versions of Windows let the drivers supply the correct set of resolutions, but that hasn't fixed the ignorant users.

    There were real CRTs produced in 5:4 resolutions, but they were fairly rare. It has become more common with LCD-type displays, for no immediately obvious reason. The only appreciable advantage to 5:4 is that it'll fit two A4 pages; it's completely wrong for all common video formats, and you'll get black bars.



  • @Thief^ said:

    Indeed, it must have been older OSs that used 72dpi. Still, they were/are both guessing at the size of an inch, and the older OSs 72dpi = XP's 96dpi (in that at that setting font points equal pixels).

    Fixedsys “9” pt is 12 pixels high from descender to ascender. This is actually one of the earliest cross-platform incompatibilities to appear between browsers, before anyone had ever heard of javascript or CSS or box modelsfonts specified in points would look smaller on a mac than on windows, because the mac used 72dpi and windows (all versions of windows, not just XP) is 96dpi. (linux machines commonly in use at the time, incidentally, used 75dpi. Nowadays, most use 100.)

    For the record, my own computer’s screen is about 120dpi: 1024x768, and I measured it at about 10.5ʺ diagonal.



  • IIRC the font's size is measured from baseline to tip of ascender, or the height of capital letters (generally the same). This happens to be 9 pixels for 9pt fixed-sys in XP @ 96dpi.

    EDIT: Tested several fonts at size 9, and they are all 9px from baseline to tip of ascender. The descender varied up between fonts, up to 6px below the base line in one font. In most, capital letters were the same height as the top of the tallest lower-case letters, but not in all.



  • @Thief^ said:

    IIRC the font's size is measured from baseline to tip of ascender, or the height of capital letters (generally the same). This happens to be 9 pixels for 9pt fixed-sys in XP @ 96dpi.

    EDIT: Tested several fonts at size 9, and they are all 9px from baseline to tip of ascender. The descender varied up between fonts, up to 6px below the base line in one font. In most, capital letters were the same height as the top of the tallest lower-case letters, but not in all.

    http://nwalsh.com/comp.fonts/FAQ/cf_8.htm says ascender to descender.

    Whatever the definition, 9 points is 12 pixels, period, at 96dpi, no matter what quantity XP happens to be causing to be 12 pixels high when you set the size to 9pt. This is not subject to debate. One point is 1/72 inch, and one pixel at 96dpi is 1/96 inch. There are 12×(1/96″) in 9×(1/72″).

    And, anyway, i'm NOT making up the thing about older mac having smaller "9pt" fonts than a PC. http://home.earthlink.net/~bobbau/platforms/text-size/.


Log in to reply