|
code
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Funky Font Enumerationstandard VB methods, a bunch of them are returned twice, once with a leading ampersand. What's up with that? Repro: Public Sub Main() Dim i As Long, s As String Set s = New CStringBuilder For i = 0 To Screen.FontCount - 1 Debug.Print Screen.Fonts(i) s = s & Screen.Fonts(i) & vbCrLf Next i Clipboard.Clear Clipboard.SetText s End Sub You'll see things like this in the output: <...snip...> Adobe Caslon Pro Bold Adobe Caslon Pro Adobe Fangsong Std R @Adobe Fangsong Std R Adobe Heiti Std R @Adobe Heiti Std R Adobe Kaiti Std R @Adobe Kaiti Std R Adobe Ming Std L @Adobe Ming Std L Adobe Myungjo Std M @Adobe Myungjo Std M Adobe Song Std L @Adobe Song Std L Adobe Garamond Pro Bold Adobe Garamond Pro <...snip...> Arial Arabic Transparent Arial Baltic Arial CE Arial CYR Arial Greek Arial TUR Batang @Batang BatangChe @BatangChe Gungsuh @Gungsuh GungsuhChe @GungsuhChe Courier New Courier New Baltic Courier New CE Courier New CYR Courier New Greek Courier New TUR <...snip...> I thought perhaps they were the mysterious "hidden" fonts in Windows 7, but that's not it. While those Batang* fonts are hidden, the Adobe* ones aren't. On this system. Anyone know WTH those ampersands mean? Karl,
Sorry, I don't know the answer to your question. However, @ isn't an ampersand. An amperand is &. According to MS Character Map applet, @ is a 'Commercial At' sign. So I guess you want to ask: Anyone know WTH those 'Commercial At's mean? :) Tim Rude "Karl E. Peterson" <k***@exmvps.org> wrote in message <snip>news:i68jug$ljs$1@news.eternal-september.org... > Just noticed something really odd. If you enumerate fonts using standard > VB methods, a bunch of them are returned twice, once with a leading > ampersand. What's up with that? Repro: Show quoteHide quote > I thought perhaps they were the mysterious "hidden" fonts in Windows 7, > but that's not it. While those Batang* fonts are hidden, the Adobe* ones > aren't. On this system. Anyone know WTH those ampersands mean? > Tim Rude brought next idea :
> Karl, Yeah, realized I'd misspoken right after posting that.> > Sorry, I don't know the answer to your question. > > However, @ isn't an ampersand. An amperand is &. According to MS Character > Map applet, @ is a 'Commercial At' sign. > > So I guess you want to ask: Anyone know WTH those 'Commercial At's mean? :) So, ..., WTH??? <g> Fwiw, I just compared the output with EnumFontFamilies on Windows 7, and it's identical. No such critters under an XP VM, here, either. True Type Collection
Show quoteHide quote "Karl E. Peterson" <k***@exmvps.org> wrote in message news:i68jug$ljs$1@news.eternal-september.org... > Just noticed something really odd. If you enumerate fonts using standard > VB methods, a bunch of them are returned twice, once with a leading > ampersand. What's up with that? Repro: > > Public Sub Main() > Dim i As Long, s As String > Set s = New CStringBuilder > For i = 0 To Screen.FontCount - 1 > Debug.Print Screen.Fonts(i) > s = s & Screen.Fonts(i) & vbCrLf > Next i > Clipboard.Clear > Clipboard.SetText s > End Sub > > You'll see things like this in the output: > > <...snip...> > Adobe Caslon Pro Bold > Adobe Caslon Pro > Adobe Fangsong Std R > @Adobe Fangsong Std R > Adobe Heiti Std R > @Adobe Heiti Std R > Adobe Kaiti Std R > @Adobe Kaiti Std R > Adobe Ming Std L > @Adobe Ming Std L > Adobe Myungjo Std M > @Adobe Myungjo Std M > Adobe Song Std L > @Adobe Song Std L > Adobe Garamond Pro Bold > Adobe Garamond Pro > <...snip...> > Arial > Arabic Transparent > Arial Baltic > Arial CE > Arial CYR > Arial Greek > Arial TUR > Batang > @Batang > BatangChe > @BatangChe > Gungsuh > @Gungsuh > GungsuhChe > @GungsuhChe > Courier New > Courier New Baltic > Courier New CE > Courier New CYR > Courier New Greek > Courier New TUR > <...snip...> > > I thought perhaps they were the mysterious "hidden" fonts in Windows 7, > but that's not it. While those Batang* fonts are hidden, the Adobe* ones > aren't. On this system. Anyone know WTH those ampersands mean? > > -- > .NET: It's About Trust! > http://vfred.mvps.org > > VB 6 Devotee formulated the question :
> True Type Collection Ahhh, yeah, had just found that. So... Significance?VB 6 Devotee used his keyboard to write :
> True Type Collection Hmmmm, seems I'm also getting @'s on fonts that come in OTF files, too... And, neither filetype assures getting an @ listing... @ sign means Asian character rotated 90 degree. Traditonally chinese
character is written from top to bottom. It makes sense when printed out. But don't make me explain. Show quoteHide quote "Karl E. Peterson" <k***@exmvps.org> wrote in message news:i68jug$ljs$1@news.eternal-september.org... > Just noticed something really odd. If you enumerate fonts using standard > VB methods, a bunch of them are returned twice, once with a leading > ampersand. What's up with that? Repro: > > Public Sub Main() > Dim i As Long, s As String > Set s = New CStringBuilder > For i = 0 To Screen.FontCount - 1 > Debug.Print Screen.Fonts(i) > s = s & Screen.Fonts(i) & vbCrLf > Next i > Clipboard.Clear > Clipboard.SetText s > End Sub > > You'll see things like this in the output: > > <...snip...> > Adobe Caslon Pro Bold > Adobe Caslon Pro > Adobe Fangsong Std R > @Adobe Fangsong Std R > Adobe Heiti Std R > @Adobe Heiti Std R > Adobe Kaiti Std R > @Adobe Kaiti Std R > Adobe Ming Std L > @Adobe Ming Std L > Adobe Myungjo Std M > @Adobe Myungjo Std M > Adobe Song Std L > @Adobe Song Std L > Adobe Garamond Pro Bold > Adobe Garamond Pro > <...snip...> > Arial > Arabic Transparent > Arial Baltic > Arial CE > Arial CYR > Arial Greek > Arial TUR > Batang > @Batang > BatangChe > @BatangChe > Gungsuh > @Gungsuh > GungsuhChe > @GungsuhChe > Courier New > Courier New Baltic > Courier New CE > Courier New CYR > Courier New Greek > Courier New TUR > <...snip...> > > I thought perhaps they were the mysterious "hidden" fonts in Windows 7, > but that's not it. While those Batang* fonts are hidden, the Adobe* ones > aren't. On this system. Anyone know WTH those ampersands mean? > > -- > .NET: It's About Trust! > http://vfred.mvps.org > > Phil Hunt presented the following explanation :
> @ sign means Asian character rotated 90 degree. Traditonally chinese Okay, this is definitely getting confusing. The thread I pointed to > character is written from top to bottom. > It makes sense when printed out. But don't make me explain. earlier also has both explanations - rotated Asian *and* TTC. The TTC thing stands up to futher searches, though I still have trouble grasping the significance of it. I guess what I'm getting around to is, if you're building a list of fonts for a user to choose from (without using the built-in ChooseFont dialog, of course), what do you do with these critters? And why? Thanks... Karl Just another font.
Choose it if you want it. Show quoteHide quote "Karl E. Peterson" <k***@exmvps.org> wrote in message news:i68p08$fcj$1@news.eternal-september.org... > Phil Hunt presented the following explanation : >> @ sign means Asian character rotated 90 degree. Traditonally chinese >> character is written from top to bottom. >> It makes sense when printed out. But don't make me explain. > > Okay, this is definitely getting confusing. The thread I pointed to > earlier also has both explanations - rotated Asian *and* TTC. > > The TTC thing stands up to futher searches, though I still have trouble > grasping the significance of it. > > I guess what I'm getting around to is, if you're building a list of fonts > for a user to choose from (without using the built-in ChooseFont dialog, > of course), what do you do with these critters? And why? > > Thanks... Karl > > -- > .NET: It's About Trust! > http://vfred.mvps.org > > Phil Hunt formulated the question :
>> I guess what I'm getting around to is, if you're building a list of fonts Not sure about that. Word doesn't offer it, for example.>> for a user to choose from (without using the built-in ChooseFont dialog, of >> course), what do you do with these critters? And why? > > Just another font. > Choose it if you want it. Word has a chinese version too. It will/may show up if you are using one.
Show quoteHide quote "Karl E. Peterson" <k***@exmvps.org> wrote in message news:i68pta$jvc$1@news.eternal-september.org... > Phil Hunt formulated the question : >>> I guess what I'm getting around to is, if you're building a list of >>> fonts for a user to choose from (without using the built-in ChooseFont >>> dialog, of course), what do you do with these critters? And why? >> >> Just another font. >> Choose it if you want it. > > Not sure about that. Word doesn't offer it, for example. > > -- > .NET: It's About Trust! > http://vfred.mvps.org > > on 9/8/2010, Phil Hunt supposed :
> "Karl E. Peterson" <k***@exmvps.org> wrote... Okay, from what I can tell, Windows 7 now has the option to hide or >> Phil Hunt formulated the question : >>>> I guess what I'm getting around to is, if you're building a list of fonts >>>> for a user to choose from (without using the built-in ChooseFont dialog, >>>> of course), what do you do with these critters? And why? >>> >>> Just another font. >>> Choose it if you want it. >> >> Not sure about that. Word doesn't offer it, for example. > > Word has a chinese version too. It will/may show up if you are using one. show fonts. However, the *only* thing that this applies to is the ChooseFont common dialog *and* the applets that ship with Windows 7 itself. (ie, wordpad) They (MSFT) say there is no API to filter the list, so of course that's the challenge. (Looks easy enough using the registry. <shrug>) My gut is telling me to just ignore these @'d fonts entirely. I suppose it could be an indication, too, that an alternative name is available in other locales? I dunno, but it just doesn't seem that they offer anything more, in the way of user-choice, at all. Karl E. Peterson laid this down on his screen :
> Just noticed something really odd. If you enumerate fonts using standard VB Okay, it was actually a "commercial at" (@) symbol, not an "ampersand" > methods, a bunch of them are returned twice, once with a leading ampersand. > What's up with that? (&). That aside, here's the first clue: http://www.ms-news.net/f2733/fonts-prefix-4070282.html Isn't/Wasn't Uwe a regular here? Looks like this definitely goes back. That thread was dated 2004! S/he says to search on "true type collection" for further clues. That ringing any bells here? Searching... "Karl E. Peterson" <k***@exmvps.org> wrote in message
http://en.wikipedia.org/wiki/TrueType#TrueType_Collection
news:i68o8k$c3b$1@news.eternal-september.org... : : http://www.ms-news.net/f2733/fonts-prefix-4070282.html : : Isn't/Wasn't Uwe a regular here? Looks like this definitely goes back. : That thread was dated 2004! S/he says to search on "true type : collection" for further clues. That ringing any bells here? : : Searching...
Show quote
Hide quote
"Kevin Provance" <k@p.c> wrote in message This being said, it appears the fonts with the @ symbol are "forks" of the news:i68u84$8bs$1@news.eternal-september.org... : : "Karl E. Peterson" <k***@exmvps.org> wrote in message : news:i68o8k$c3b$1@news.eternal-september.org... :: :: http://www.ms-news.net/f2733/fonts-prefix-4070282.html :: :: Isn't/Wasn't Uwe a regular here? Looks like this definitely goes back. :: That thread was dated 2004! S/he says to search on "true type :: collection" for further clues. That ringing any bells here? :: :: Searching... : : http://en.wikipedia.org/wiki/TrueType#TrueType_Collection font file (since those particular files are different collections in one file) that has the alternate characters for the unicode languages. Apparently this was done to save space, instead of having multiple files for one font when only x number of extra entries were required for the additional languages. That's my take on it. There were a ton of other articles using this all too generic search phrase: http://www.google.com/search?q=what+is+a+truetype+collection&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a Kevin Provance pretended :
Show quoteHide quote > "Kevin Provance" <k@p.c> wrote in message Yeah, I think that was the first hit I clicked, too. <g>> news:i68u84$8bs$1@news.eternal-september.org... >> >> "Karl E. Peterson" <k***@exmvps.org> wrote in message >> news:i68o8k$c3b$1@news.eternal-september.org... >>> >>> http://www.ms-news.net/f2733/fonts-prefix-4070282.html >>> >>> Isn't/Wasn't Uwe a regular here? Looks like this definitely goes back. >>> That thread was dated 2004! S/he says to search on "true type >>> collection" for further clues. That ringing any bells here? >>> >>> Searching... >> >> http://en.wikipedia.org/wiki/TrueType#TrueType_Collection > This being said, it appears the fonts with the @ symbol are "forks" of the So the real question is, then... If *you* were building a font > font file (since those particular files are different collections in one > file) that has the alternate characters for the unicode languages. > Apparently this was done to save space, instead of having multiple files for > one font when only x number of extra entries were required for the > additional languages. > > That's my take on it. selection list, what fork do you take when you hit one of these? (My inclination at this point is to just ignore them, but it'd be good to justify that. <g>) > There were a ton of other articles using this all too generic search phrase: Been browsing. Bells haven't gone off yet.> http://www.google.com/search?q=what+is+a+truetype+collection&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a "Karl E. Peterson" <k***@exmvps.org> wrote in message Check the first character of the string and filter it out if it's a @ news:i68vs6$fil$1@news.eternal-september.org... : : So the real question is, then... If *you* were building a font : selection list, what fork do you take when you hit one of these? (My : inclination at this point is to just ignore them, but it'd be good to : justify that. <g>) character? This is assuming of course that the first character being a @ symbol is standard for font forks. Perhaps another way to to compare the currently loading font to the last one and checking for the same name, minus the @ sign...that would certainly indicate a forking scenario. After serious thinking Kevin Provance wrote :
> "Karl E. Peterson" <k***@exmvps.org> wrote in message I dunno. Seems like it was always following one of the same name, > news:i68vs6$fil$1@news.eternal-september.org... >> >> So the real question is, then... If *you* were building a font >> selection list, what fork do you take when you hit one of these? (My >> inclination at this point is to just ignore them, but it'd be good to >> justify that. <g>) > > Check the first character of the string and filter it out if it's a @ > character? This is assuming of course that the first character being a @ > symbol is standard for font forks. Perhaps another way to to compare the > currently loading font to the last one and checking for the same name, minus > the @ sign...that would certainly indicate a forking scenario. but...? "Karl E. Peterson" <k***@exmvps.org> wrote in message Actually you get the same if you enumerate fonts using most API methods, news:i68jug$ljs$1@news.eternal-september.org... > Just noticed something really odd. If you enumerate fonts using standard > VB methods, a bunch of them are returned twice, once > with a leading ampersand. What's up with that? Repro: such as EnumFontFamiliesEx. Although you'll find that most of the @ fonts are in collections, and that on many machines many of them are Korean or Asian fonts, I think the actual significance of the @ sign is that those fonts are licenced for linking and embedding. I believe that one use for them is in the creation of web pages where the font can be linked to and displayed on the page without it needing to be installed on the system of the person who is viewing that page, a sort of extension to the old "web safe fonts". Personally I don't get involved in web page creation myself, but there are probably others here who do and who will be able to give you more details (if indeed those fonts are actually what I have said they are!). Here is one link I have just turned up that mentions them in that regard: http://blog.themeforest.net/tutorials/css-font-face-and-15-free-fonts-you-can-use-today/ Since they are in almost all cases duplicated in the font list without the leading @ sign I would personally just filter them out and ignore them when providing a user with a list of fonts for normal use. Mike Mike Williams wrote :
> "Karl E. Peterson" <k***@exmvps.org> wrote... Yep, that was the next thing I tried, and found that to be exactly the > >> Just noticed something really odd. If you enumerate fonts using standard >> VB methods, a bunch of them are returned twice, once >> with a leading ampersand. What's up with that? Repro: > > Actually you get the same if you enumerate fonts using most API methods, such > as EnumFontFamiliesEx. case. VB is just calling EnumFontFamilies (most likely, not the Ex flavor) and returning each and every callback. > Although you'll find that most of the @ fonts are in Oh wow! Dim recollection, or might you have _any_ reference for that?> collections, and that on many machines many of them are Korean or Asian > fonts, I think the actual significance of the @ sign is that those fonts are > licenced for linking and embedding. > I believe that one use for them is in the Can't imagine the mechanics of that. That is, by what means the font > creation of web pages where the font can be linked to and displayed on the > page without it needing to be installed on the system of the person who is > viewing that page, a sort of extension to the old "web safe fonts". would be delivered to the browser that lacked it? > Personally I don't get involved in web page creation myself, but there are Well check that out, thanks!> probably others here who do and who will be able to give you more details (if > indeed those fonts are actually what I have said they are!). Here is one link > I have just turned up that mentions them in that regard: > > http://blog.themeforest.net/tutorials/css-font-face-and-15-free-fonts-you-can-use-today/ > Since they are in almost all cases duplicated in the font list without the I didn't find any that weren't dup'd on my system, so that's exactly my > leading @ sign I would personally just filter them out and ignore them when > providing a user with a list of fonts for normal use. inclination at the moment too. Sure would feel better if I could articulate why, though. <g> "Karl E. Peterson" <k***@exmvps.org> wrote in message Well my gut feeling would be that it is as I have described, and that the @ news:i6908h$h73$1@news.eternal-september.org... > I didn't find any that weren't dup'd on my system, so that's exactly > my inclination at the moment too. Sure would feel better if I could > articulate why, though. <g> sign indicates a font that is licenced in the way I have described. I've just looked at the font list in an MS Word 2007 document and it does /not/ include /any/ of the font names that are preceeded by the @ sign, although in every case I have checked it /does/ include that specific font name without the @ sign. In contrast, a Microsoft Publisher 2007 document /does/ include in its list of available fonts both the @ font name and the same name font without the @ for the specific fonts in question. I've tested MS Publisher with about a dozen or so of those "with and without the @ sign" fonts, in a very large font size, and in all cases the actual printed output is /exactly/ the same for the @ version as it is the for /Not @/ version. Mike They only make a difference when applied to chinese character.
Show quoteHide quote "Mike Williams" <M***@WhiskyAndCoke.com> wrote in message news:i691k7$b57$1@speranza.aioe.org... > "Karl E. Peterson" <k***@exmvps.org> wrote in message > news:i6908h$h73$1@news.eternal-september.org... > >> I didn't find any that weren't dup'd on my system, so that's exactly >> my inclination at the moment too. Sure would feel better if I could >> articulate why, though. <g> > > Well my gut feeling would be that it is as I have described, and that the > @ sign indicates a font that is licenced in the way I have described. I've > just looked at the font list in an MS Word 2007 document and it does /not/ > include /any/ of the font names that are preceeded by the @ sign, although > in every case I have checked it /does/ include that specific font name > without the @ sign. In contrast, a Microsoft Publisher 2007 document > /does/ include in its list of available fonts both the @ font name and the > same name font without the @ for the specific fonts in question. I've > tested MS Publisher with about a dozen or so of those "with and without > the @ sign" fonts, in a very large font size, and in all cases the actual > printed output is /exactly/ the same for the @ version as it is the for > /Not @/ version. > > Mike > > Mike Williams formulated on Wednesday :
> "Karl E. Peterson" <k***@exmvps.org> wrote in message I read that article you pointed to, and agree that's some *really* cool > news:i6908h$h73$1@news.eternal-september.org... > >> I didn't find any that weren't dup'd on my system, so that's exactly >> my inclination at the moment too. Sure would feel better if I could >> articulate why, though. <g> > > Well my gut feeling would be that it is as I have described, and that the @ > sign indicates a font that is licenced in the way I have described. opportunity for web designers! But I think it's also an unfortunate coincidence in this case. Why? Because I found mention of thie behavior from EnumFont* as far back as 2004. http://www.ms-news.net/f2733/fonts-prefix-4070282.html > I've just Could it be simply because the programmers for Publisher were that much > looked at the font list in an MS Word 2007 document and it does /not/ include > /any/ of the font names that are preceeded by the @ sign, although in every > case I have checked it /does/ include that specific font name without the @ > sign. In contrast, a Microsoft Publisher 2007 document /does/ include in its > list of available fonts both the @ font name and the same name font without > the @ for the specific fonts in question. lamer than those for Word? <g> Seriously, that is an interesting observation. I concur with what you saw in Word. Here too. > I've tested MS Publisher with about Might have to ask my Korean buddy to send me a document with a bunch of > a dozen or so of those "with and without the @ sign" fonts, in a very large > font size, and in all cases the actual printed output is /exactly/ the same > for the @ version as it is the for /Not @/ version. Chinese in it that I can suck into Publisher. This link says: "Vertical fonts are preceded by an @ symbol in the Font
family list." FontControl Element: http://msdn.microsoft.com/en-us/library/dd371673%28VS.85%29.aspx Searching for "Vertical fonts at symbol" might yield more results. Another link that says it's about vertical fonts:
A document that contains vertical and non-vertical fonts does not print correctly on a PostScript printer in Windows Vista: http://support.microsoft.com/kb/937018 Quote: "Note A vertical font is designated with an "at" character (@) as the first character of its name. Vertical fonts are typically used on Asian systems." Nobody wrote on 9/8/2010 :
> Another link that says it's about vertical fonts: Good finds! Yeah, I'm pretty sure that I could avoid these, in that > > A document that contains vertical and non-vertical fonts does not print > correctly on a PostScript printer in Windows Vista: > http://support.microsoft.com/kb/937018 > > Quote: "Note A vertical font is designated with an "at" character (@) as the > first character of its name. Vertical fonts are typically used on Asian > systems." case, and at least be able to explain why. It's funny, though, that they chose to expose attributes in the font name, isn't it? When there are so many other fields available. But, you gave me what I needed to google out (what I believe to be) the Final Answer: "Fortunately, with Win32 you do not need to write code to rotate characters. To display text vertically on Windows 2000 and Windows XP, enumerate the available fonts as usual, and select a font whose font face name begins with the at sign (@). Then create a LOGFONT structure, setting both the escapement and the orientation to 270 degrees. Calls to TextOut are the same as for horizontal text." http://msdn.microsoft.com/en-us/goglobal/bb688137.aspx Right below that text, on that page, is an illustration of the (somewhat non-intuitive) results.
Cant solve this.
Any "quirsk" with the timer control DLL fight create desktop shortcut when app installed w/P&D installer for XP,Vista,W7 What Is the User Path for Deployment Similar to $(AppPath)? Looking for VC6 newsgroup Error 5: ERROR_ACCESS_DENIED when accessing registry in Windows 7 Closing Grouped instances in the taskbar Componenet not installed correctly by PDW Calling function pointers |
|||||||||||||||||||||||