Come vengono memorizzati i metadati dei font?

1

Subito dopo aver scaricato un font, puoi vedere che ha molti metadati. Ad esempio, se scarichi il font Sansa ed esegui mdls Sansation_Regular.ttf otterrai questo risultato:

com_apple_ats_name_family      = (
    Sansation
)
com_apple_ats_name_fond        = (
    "Sansation Regular"
)
com_apple_ats_name_full        = (
    "Sansation Regular"
)
com_apple_ats_name_postscript  = (
    "Sansation Regular"
)
com_apple_ats_name_style       = (
    Regular
)
com_apple_ats_names            = (
    "Bernd Montag",
    Regular,
    Sansation,
    "Sansation Regular",
    "Version 1.31",
    "\U00a9 2011 Bernd Montag"
)
kMDItemAuthors                 = (
    "Bernd Montag"
)
kMDItemContentCreationDate     = 2012-10-31 15:59:10 +0000
kMDItemContentModificationDate = 2012-10-31 15:59:10 +0000
kMDItemContentType             = "public.truetype-ttf-font"
kMDItemContentTypeTree         = (
    "public.truetype-ttf-font",
    "public.truetype-font",
    "public.font",
    "public.data",
    "public.item"
)
kMDItemCopyright               = "© 2011 Bernd Montag"
kMDItemDateAdded               = 2013-11-21 16:21:51 +0000
kMDItemDisplayName             = "Sansation_Regular.ttf"
kMDItemFonts                   = (
    Regular,
    Sansation,
    "Sansation Regular"
)
kMDItemFSContentChangeDate     = 2012-10-31 15:59:10 +0000
kMDItemFSCreationDate          = 2012-10-31 15:59:10 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = 0
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = 0
kMDItemFSLabel                 = 0
kMDItemFSName                  = "Sansation_Regular.ttf"
kMDItemFSNodeCount             = 78464
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 501
kMDItemFSSize                  = 78464
kMDItemFSTypeCode              = ""
kMDItemKind                    = "TrueType font"
kMDItemLogicalSize             = 78464
kMDItemPhysicalSize            = 81920
kMDItemVersion                 = "Version 1.31"

Ora, se si controlla questo file in un repository git, lo si spinge su un server remoto e si clona quel repository, molti dei metadati vengono persi nel processo. Dopo essere stato clonato, l'esecuzione di mdls Sansation_Regular.ttf fornisce il seguente output:

kMDItemFSContentChangeDate = 2013-11-21 16:31:26 +0000
kMDItemFSCreationDate      = 2013-11-21 16:31:26 +0000
kMDItemFSCreatorCode       = ""
kMDItemFSFinderFlags       = 0
kMDItemFSHasCustomIcon     = 0
kMDItemFSInvisible         = 0
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery      = 0
kMDItemFSLabel             = 0
kMDItemFSName              = "Sansation_Regular.ttf"
kMDItemFSNodeCount         = 78464
kMDItemFSOwnerGroupID      = 0
kMDItemFSOwnerUserID       = 501
kMDItemFSSize              = (null)
kMDItemFSTypeCode          = ""

Ho provato a eseguire mdimport Sansation_Regular.ttf ma gli attributi smarriti non sono tornati.

Che cosa è successo? C'è un modo per chiedere al sistema di ricreare tutti gli attributi dei metadati mancanti?

Sto utilizzando OS X 10.8.5.

    
posta 0xced 21.11.2013 - 17:38
fonte

2 risposte

1

Risulta che i metadati non erano disponibili perché ho clonato il repository all'interno della directory /tmp che non è indicizzata da Spotlight. La clonazione del repository da qualche parte indicizzato da Spotlight funziona correttamente.

    
risposta data 22.11.2013 - 15:38
fonte
0

Quelle chiavi com_apple_ats_name_family sembrano nomi di attributi estesi con "." s sostituiti con "_" s. Prova a eseguire xattr -l Sansation_Regular.ttf sul file originale e vedere se ha un sacco di attributi estesi che non vengono copiati insieme al file quando lo si controlla.

    
risposta data 21.11.2013 - 18:15
fonte

Leggi altre domande sui tag