Issue #1,106 | Inside the CAD Business | 27 September 2021
Guest editorial by Dave Edwards
Back in the day, most CAD output was done on pen plotters driven by DOS-based software. Yes, there really was work done before the advent of Windows and the Mac, done with real pens and real ink. This was long before PostScript printers and standardized font formats.
The font format developed by Autodesk for AutoCAD, for instance, is named SHX [short for “compiled shape”]. This is a vector-based font format, which uses only lines and arcs in character (or “glyph”) definitions; no fills. See the figure below.
To get different font weights on the output, specific pen numbers were assigned. To draw a thicker line, you specified a thicker pen, and then the CAD program literally instructed the plotter to pick the specific pen from the pen carousel. See figure below.
A typical carousel held up to eight pens of different sizes placed in numbered locations. The sizes were based on standard drafting pen sizes: 0.25mm, 0.35mm, and so on. In the CAD software, you placed all entities that needed to be drawn by a specific pen width on their own layer. It was very restrictive, and pens running dry were a royal pain. This changed so much for the better when inkjet plotters came on the market.
C3DevCon 2021
Software Development Conference
Join C3D Labs at its software developers’ conference, October 14 at 10:00am CEST. See the latest developments in the C3D Toolkit SDK, designed for engineering software developers.
To register for the conference, and learn more about the event, visit c3dlabs.com/en/blog/events/software-development-conference-c3devcon-2021/
As font technology developed, the need for WYSIWYG — What You See is What You Get — displaying of fonts became standard. But it was still a while before you could see the effect of adding a pen weight to a font on the screen. VersaCAD was an early exception, as it had a system by which the user could select the output scale and it would display the desired pen weights on the screen.
Special Character Standards
When the first CAD systems came out, there was only the ASCII standard for character codes. This was carried over from teletype machines: when a letter was pressed on one machine, the same letter would be printed out at the receiving end.
But ASCII had specifications for only 128 characters, of which the first 30 were for controlling the teletype machine. In CAD, the immediate need was for special characters, such as degree, plus/minus, and diameter. What Autodesk did was add these characters to specific locations in their font definitions.
Later, when the ANSI code was developed for handling 255 characters, it added mostly foreign characters and still there was no location for diameter. (Don’t get me started on using “O-slash” for diameter!)
The advent of modern font formats, such as Postscript and Truetype, permitted large sets of international standards and so Unicode was developed by an international committee. The committee determines character locations for foreign, technical, and graphic characters. Using this system, a font developer can create a font with special characters in these defined locations; applications that want to display those characters know which codes to use when calling a font.
How Many Characters? Where’s the One I Want?
Unicode originally had about 62,000 characters; the latest version has specifications for over 143,000. But this doesn’t mean that all fonts have all characters. The Unicode version of the “universal” Arial font, for instance, has only the original 62,000.
Having been a member of the Unicode Consortium in the past, I’m familiar with the process of adding characters to the standard. Applications are submitted each year and then they are voted on. If you ever have the chance to go through the Unicode standard, you’ll see enormous character sets for language systems, such as Japanese Kanji, and even more for “artist” systems like Klingon. (It was never approved.)
The current version of Unicode covers most of the characters needed for architectural projects, but not all of them. This is where it gets hard for users and for CAD/BIM applications. What happens when the font I need to use doesn’t have the character I want?
Most of the “big name” fonts should have most of them. When they don’t, the CAD application handles things in a couple of ways:
-
First, fall back on characters that look similar. For years AutoCAD had the error of using the “null character” location for the diameter symbol. Many fonts had diameter, but not the null character; in this case, AutoCAD punts on one character location and uses another. Often, this has to be done for several characters and rolling back to several other lookalikes.
-
Next, fall back to characters in a different font known to have the characters needed. AutoCAD does this with ISO fonts, but this can look terribly strange.
There’s a major problem when the character you need has no Unicode specification and so is not found in any major font. This is the case with the 1/16 and finer fractions. Unicode specifies fractions up to 1/8 and related fractions, but not 1/16. What most CAD systems do is fake fractions by drawing them using individual characters — but that can look weird too.
The Real Issue is Height
The real problem with fonts in CAD and BIM software is scaling. This is especially important when going from one CAD system to another. SHX fonts are still used frequently in DWG programs, such AutoCAD; these fonts use a different scaling method than Truetype fonts.
As SHX characters are composed of just lines, the height of characters are set to the exact height of uppercase letters. See figure below.
This is, however, not the case the desktop publishing fonts. To understand why not, let’s look at how typography works.
A Bit About Typography
There’s an ancient history that sets standards for typography, which poses problems for the CAD world. When it comes to sizing characters, what is important is the distance from line to line, and not the size of the uppercase letters. In laying out text for printing, the lengths of columns need to be maintained, no matter which typeface is used. In fact, font designers can make the size of uppercase letters any height they wish.
When the size of a font is specified for printing, point size is used (72.72... points to an inch). But this determines the spacing between lines and not necessarily the size of the characters. Huh??? As a CAD font designer myself, it took me years to wrap my head around why it is done this way.
Go into any word processor and pick a handful of typefaces and insert a few capital letters. I created the text seen in the figure below in Microsoft Word, setting the size of the large letters to 72 points. Notice that each one has a different height.
So how do you create Truetype text at the correct size in CAD when a contract requires all text be 1/8" tall? This is the trick most CAD and BIM application use that causes the problems:
-
They inspect the curves that make up one of the characters to determine its actual size. AutoCAD uses the character “A” but the letter “M” should be used, as has been historically done in typesetting.
-
The application then scales the text slightly up or down so that the size of the characters are at the right size. The figure below shows how the same text appears in AutoCAD:
This poses the next problem when drawings with text are imported into other CAD systems that use different scaling mechanisms. You most likely see this when you use SHX in one application and an equivalent Truetype font in the receiving application. Because Truetype fonts are created using boundaries, CAD often scales them down the text to account for the height of uppercase characters.
The good news is that it has gotten better over the years. For instance, the developers of Revit first used a different scaling system than did AutoCAD. A few years ago, Autodesk changed the font scaling in Revit, which made for loads of fun fixing all the files.
(Years ago I created a system for converting SHX fonts to Truetype format. It’s a very long progress with many steps. The biggest issue is getting the math correct when a boundary is added to characters to correctly compensate line lengths as heights of uppercase characters are reduced. I created a Truetype set to substitute for standard SHX fonts RomanS and Simplex. If you’re interested in them, contact me.)
So, What’s the Point?
I just wanted to get this information down so that whenever a question about fonts arises, users will have the information at the ready.
BIM is supposed to collaborative, yet text fidelity is a stumbling block. The round trip of CAD to BIM to CAD can be a nightmare.
This is why most users landed on using something like Arial for all their work. (It is a modern clone of Helvetica, and it’s a boring-looking font.) Arial has some disadvantages when used for technical documents, but it’s become a standard.
Just know that in most applications, you no longer have to be worried about how the fonts are created to get the correct size.
Industry Musings
Having fought the good fight and lost over much of this, I naturally have opinions about all this.
In all these years, too much has been just a patchwork-kludge. We have Unicode characters for much of what we need. Why are they not being used? Feet and inches marks used in dimensions should use the prime (') and double prime (") characters, not curley quotes (’ or ”). AutoCAD’s SHX fonts don’t have copyright, registered, or trademark character — just to name a few.
There needs to be an industry committee that specifies font standards for CAD and BIM. Its role would be to brand fonts approved for having specific sets of characters and sets of internal heights, so that scaling no longer is an issue.
There’s a section in Unicode called a “Private Dictionary,” which AutoCAD uses for locations of needed characters not found in Unicode. There needs to be an effort to get more of these characters to have set locations and then get them published, so that font designers can create their fonts with these characters. This is already being done for fonts needed in music publishing.
The Bottom Line
For BIM really to be a collaborative venture, it needs to put into place several standards, and fonts is one of the basic ones that has been overlooked. CAD firms felt that by simply adopting Truetype (and not even OpenType) they covered the issue — not so!
I did what I could while I was still more active, but it fell mostly on deaf years. Vendors have had more important functions to get into BIM, such as handling big projects and multi-user collaboration. Some of the nuts and bolts have, as a result, been left in the dust.
END RANT
- - -
Dave Edwards develops Project Newplex, an advanced SHX font for technical documents. He is an application feature consultant and technical documentation writer. You can contact him through [email protected].
[This article was reproduced with permission from PADT, the Prag Arch Design Tech newsletter in which Mr Edwards explains how to make BIM work. I find it very useful. View his articles at pragarchdesigntech.substack.com.]
And in Other News
Looks like Trimble has licensed the Kudo Web-based DWG editor from Graebert GmbH for a cloud-based DWG viewer and editor under the name of Connect CAD. community.trimble.com/viewdocument/product-update-08-24-2021-introd?CommunityKey=2ba352bf-190c-4712-8473-09e331f39bf2&tab=librarydocuments
- - -
GT-SUITE from Gamma Technologies performs 0D/1D/3D multi-physics CAE simulations of the physics of fluid flow, thermal, mechanical, electrical, magnetic, chemistry, and controls. It includes 3D modeling with built-in structural and thermal 3D FEA (with in-situ meshers), 3-D multi-body dynamics with flexible bodies and 3D CFD. gtisoft.com
- - -
Vectorworks launches the 2022 editions of its software:
-
Architect
-
Landmark
-
Spotlight
-
Fundamentals
-
Braceworks
-
ConnectCAD
-
Vision
Vectorworks Designer has been renamed “Vectorworks Design Suite.” Vectorworks is the first major BIM application to run natively on Apple silicon processors, running some processes 4x faster. vectorworks.net/en-CA/2022
- - -
Here are some of the posts that appeared recently on my WorldCAD Access blog:
-
Photo montage: Bands at the 9th Annual Musical Walkalong
-
Part 1: My 108 Books in Print
You can subscribe to WorldCAD Access blog’s RSS feed at feeds.feedburner.com/WorldcadAccess.
Letters to the Editor
I thought you might find this interesting, if only to illustrate how some in the academic corner of the computing world view CAD: “A New Era for Mechanical CAD” at queue.acm.org/detail.cfm?id=3469844 by Jessie Frazelle
A few eyebrow raisers, such as “instances” vice “blocks” and missing things like the Blockify command in BricsCAD or any mention of LISP, etc. The author is evidently not a CAD-slinger.
- Richard Webb
The editor replies: Her primary concern appears to be that because CAD is so old, it is not capable of modern computing, such as multi-core. The problem with her argument is not the age of the code (which has been refreshed over the decades) but CAD’s inability to predict user operations, and as a result cannot run on multiple CPU cores.
Ms Frazelle is with a cloud services firm.
Re: When the cursor gets erratic, it's the mouse's nano-receiver at fault
I have a similar problem with my M720 Logitech Triathlon mouse. Initially I connected with Logitech’s Unifying USB receiver, when it started doing awkward things in clicking and dragging. Sometimes it didn’t respond with click, but after a while it jumped like I was rapidly clicking.
After I read this thread, and found the comments by H. R. Puffenstuff, I tried switching the connection to Bluetooth and discarding the wireless Unifying USB plug. Then it worked right. It works well, like my first use of wireless USB.
Hence I conclude this is the USB receiver’s problem. Thanks for the inspiration.
- Adi Dewanto (via WorldCAD Access)
Re: My 108 Books in Print
Congratulations Ralph, this is a VERY impressive body of work which helped (hundreds of ?) thousands of people become proficient in CAD!
- Malcolm Davies
- - -
I wish that Bricsys would team up with you again. Not a fan of the current documentation. Web pages are a pain to navigate and, of course, impossible to highlight and add notes to. The auto-generated (apparently) off-line help files are... not good.
- Richard Webb
Notable Quotable
“So when big corporations accuse you of copyright infringement, you can get fined, lose your Internet access, lose all income from your videos, be blocked from the platforms where you make your living.
“But when big corps infringe on our copyright, the war on piracy is forgotten.”
- Nytt år, samme Børge
Thank You, Readers
Thank you to readers who donate towards the operation of upFront.eZine:
-
R L Capper
-
Stanley Przybylinski
To support upFront.eZine through PayPal.me, then I suggest the following amounts:
-
$25 for individuals > paypal.me/upfrontezine/25
-
$150 for small companies > paypal.me/upfrontezine/150
-
$750 for large companies > paypal.me/upfrontezine/750
Should Paypal.me not operate in your country, then please use www.paypal.com and use the account of [email protected].
Or ask [email protected] about making a direct bank transfer through Wise (Transferwise).
Or mail a cheque (US$ or CDN$ only, please) to upFront.eZine Publishing, Ltd., 34486 Donlyn Avenue, Abbotsford BC, V2S 4W7, Canada.
*4715
Comments