5 Replies Latest reply on Aug 8, 2011 8:42 AM by MarXtar

    How do I query for the existence of specific font?

    slyork Rookie

      Hi Everyone

       

      I need to be able to query to see which machines have a specific font installed.

      Any ideas?

       

      I am playing with this in the query field but getting no responses

       

      Computer.OS.Name EXISTS

      AND

      Compter.Software.Fonts.Font.Name LIKE Arial

       

       

      The font I am interested in is Arial Narrow, which I have been informed is no longer part of the MS Office Suite as of 2010 version, but has previously been part of 2003 and 2007.

       

       

      Cheers


      Steve

        • 1. Re: How do I query for the existence of specific font?
          Catalysttgj Expert

          I can't test this myself, since I see no font names at all in our inventory, so another mystery to solve for me, but this should work for you...

           

          When you build your query, as long as you see a list of font names in the right hand section of the panel when you select a condition like "=" or any of the others, then you should choose  ">" and "<" and try those out in a compound statement. You wanna stay away from "LIKE" or "NOT LIKE". They seem to not work at all, when there's a plurality of items that can exist on a device. You want to try getting on either side of a section of the list that you see. For example in terms of alphanumeric or "Greater than" or "Lesser than":  a value is greater than "A", OR a value is less than "D". The "OR" is important between there since a particular value can not meet both conditions simultaneously. Let's say you have mulitple Arials showing in the list. Take the item just above the first Arial, and make a statement:

          computer.software.fonts.font.name > "AfontnamejustbeforeArial" (Replace with the real font name obviously), Then add a statement with an "OR" separating it from the first: computer.software.fonts.font.name < "Calibri". (Calibri follows "Arial" on a windows 2008 R2 server, but pick whatever follows your last Arial entry.)

          Basically, what you're trying to do is list every font name with this type of query that meets either one of the conditions. Don't think in terms of "Both", which would lead to the assumption of "AND", It's not AND, its OR. Now, you may find that you don't need but the "Lesser than" side of this query, since its a strong likelihood that "Arial" is actually the very first font name in your inventory list (Wintel only world that is). If so, just leave the "greater than" side out of the equation.

           

          You also should just drop the line about "Computer.OS.Name EXISTS" I'm sure you were playing with this to get something to show up. You won't need this since you will hopefully finally get some results, however if you ever intend to construct a query that just shows device in the DB, try using: "Computer.ID Exists". This one is more reliable since every entry in the DB HAS to have an ID. Some inventory items can be missing from records, which can cause some false positives to list, but ID is ALWAYS there. Remember though that if you build a query with any "OR"s group the "OR"s, or you'll have some major problems.

           

          Lastly circling back to the beginning of this reply, if you don't have a font name list showing when you build your query, then you're not going to get anything from your query, and you're in the same boat i'm in. For whatever reason, our inventory is not collecting font names.

           

          Hope this helps!

          1 of 1 people found this helpful
          • 2. Re: How do I query for the existence of specific font?
            slyork Rookie

            Thanks for the indepth reply Catalysttgj

             

            I am indeed seeing the same problem as you, no fonts listed in the inventory, but I'm sure your post will help me once I get past the inital problem, and yes I was adding the "Computer.OS.Name EXISTS" Ito try and get some results.

             

            Time for a coffee :-)

             

            Steve

            • 3. Re: How do I query for the existence of specific font?
              Apprentice

              You could modify your ldappl3.template file to add an entry in custom data to search for the registry key for that particular font.  They should all be listed under

               

              HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts

              • 4. Re: How do I query for the existence of specific font?
                Catalysttgj Expert

                Thanks for the update. I'm checking on this to get a little more history on these bits that are in the schema. It doesn't make any sense to have things in the schema if they are not used. Maybe it'll turn out to be a Mac thing or something, but we need an answer in the community about this. There seems to be nothing here about it.

                 

                As far as the suggestion to add it via customization. Great wonderful, but a little cheesy. That's a nice bandaid for this specific problem, but this is something that the inventory scanner ought to be able to collect for ALL fonts, not just a single specific font.

                • 5. Re: How do I query for the existence of specific font?
                  MarXtar ITSMMVPGroup

                  Fonts are for use on MACs which is why there is that section in the schema. Never seen it working on a windows machine. I always used to add .ttf to the ldappl to be able to search for fonts.

                   

                  Mark McGinn

                  MarXtar Ltd

                  http://www.marxtar.com

                   

                  The One-Stop Shop for LANDesk Enhancements