Sorting it all Out Michael Kaplan's random stuff of dubious value Be sure to read the disclaimer here first!
Sorry for the pause there, I have been busy. :-)
George Carlin once pointed out that the real problem with driving was the other cars. Were it not for them, everything would just be so much better.
Perhaps we can learn something from him on our current problems.
Now as that last blog indicated, we are in a real problem because of all of these other processes that might be viciously trying to use or update or remove the fonts we want to do something with. And as that old Sesame Street song went, you're the most important person in the world to you, so you can hardly be held accountable for the strange things that others do, the miserable cretins.
But how do we go about insulating ourselves from these annoying other people and applications who have the vicious nerve to commit the unpardonable and mortal sin of getting in our freaking way?
Interestingly, there are several insulation techniques that we can use here, all of which have been covered either in this blog series or in earlier blogs:
First of all, we have (as discussed in the Private fonts: for members only blog) private font loading. Through the use of private font loading, you can insulate yourself from any changes that anyone tries to make to a font, since you are working from your own private copy. Perhaps the font file is something in your own application directory, perhaps it is somewhere else. It might even be (as in the sample code in that blog on private fonts) embedded within one of the application's own binaries.
Now this is something we can even do with fonts that are contained in the Fonts folder -- thus allowing us to work from the initial list the user has access to but then insulating ourselves from the changes these other people might try to make. what better way to make sure that we look out for number one and stop worrying about what other, lesser applications are doing?
Of course one must have the permission to ship the font if one wants to cart it around, otherwise the only legal recourse is to keep to things on the machine and not try and persist it for later sessions.
If you do this, while one might theoretically be in violation of a font license if one loads a font privately that is then removed, since your load within a session won't even survive a logoff, even though I am not a lawyer I doubt that the cease and desist warning would really mean anything. If they are so worried about it then they why would they not have insisted on a reboot (which is the same situation that could have existed if you had never gone the private font route, slthough in this case your application wouldn't fail prior to the reboot.
Again, I'm not a lawyer, but I would not be afraid to act as an expert witness if you don't do nefarious things with someone else's file other than use it privately within a session. :-)
Second of all, we have (as discussed in the Rhymes with Amharic blog series) font subsetting and embedding. Through the use of these features all of the benefits of private font loading can be realized, with the additional benefit of not having to cart the entire actual font around -- which can be very helpful when it is a big font.
You also get to have many other benefits, such as better document/report/application fidelity between machines or versions when those other machines or versions might have their own copies of those ame font faces that are either mildly or incredibly different.
Now there are interesting nuances here one must keep in mind, and I was reminded last week that I should be writing about some of the more interesting nuances that exist here, to keep those nuances from acting as the computer application version of booby traps or land mines.
One thing you can do is use subsetting and embedding the same way I suggested using private fonts above -- only use them within a given session. This would really work similar to private fonts but would allow you to ermain idnepndent of changes to fonts (updates or removal) within a given session.
Another Carlinism -- you know how lots of people tend to grab bread from the inside the loaf rather than the bread on the ends, and how what they are saying here is "let my family eat the rotten bread. I'm looking out for numero uno!"
Well, it's like that. Grab the piece of the font in the middle that you want and let the other applications fend for themselves. It's not like they eem to give a crap about you, so why not be selfish? :-)
Third of all, there is (as discussed in other parts of this very series) the literal separation between how things are handled within a single session and how they are handle between sessions.
When loading an updated font, you can simply:
and then you never have to worry about the problems with files updated out from under other files like I mentioned earlier.
You can use similar procedural tricks to take advantage of the complexities of font installation/load/removal in order to make that complexity work for you.
All you have to do is care mostly about yourself, and then perhaps as a secondary concern (one your needs are taken care of) desire to not bother others.
Fourth of all, you can consider that this blog will be published to splog sites all over creation, so there may be another application doing the same things with its own fonts.
If everyone is able to act selfishly then they really all can all still work together since they are so busy insulating themselves from others that you know how to make sure to avoid bad assumptions about what you should be doing.
Knowledge is power -- and the knowledge that all of the smart people might be also trying to be selfish makes it even easier to insulate yourself from their problems.
It is really the naive people you have to be most worried about since they will be making all of those unrealistic assumptions about what might change, and screwing themselves up thereby
Did you ever think you could trust the selfish people more than the unselfish ones? :-)
This blog brought to you by ֆ (U+0586, aka ARMENIAN SMALL LETTER FEH)
Over in the Suggestion Box, Chris Nichols suggested and opined: From the comments in response to your
On a completely unrelated note, can anything ever be really Wright again now that Rick is gone. :-( People
A series is never so dead that it can't be revived for another run! Previous blogs in the series: Part