Descubra cómo la APIConcepto de API¿Qué es una API?Una API, siglas de Application Programming Interface o Interfaz de Programación de Apps, es un recopilatorio de código que se puede emplear para que varias apps se comuniquen entre ellas. Es algo que realiza una tarea equivalente a la interfaz de usuario al momento de promover la interacción entre persona y programa, solo que aplicado única y exclusivamente dentro del entorno del software.Aún cuando suene Suite de acceso a fuentes locales le permite acceder a las fuentes instaladas localmente del usuario y obtener detalles de bajo nivel sobre ellas.
L'API Local Source Access fait partie de
projet de capacités
et est actuellement en cours de développement. Ce message sera mis à jour au fur et à mesure que la mise en œuvre progressera.
Polices sécurisées pour le Web
Si vous faites du développement Web depuis assez longtemps, vous vous souvenez peut-être de l'appel polices Web sécurisées. Ces polices sont connues pour être disponibles sur presque toutes les instances des systèmes d'exploitation les plus utilisés (à savoir Windows, macOS, les distributions Linux les plus courantes, Android et iOS). Au début des années 2000, Microsoft a même lancé une initiative appelé Principales polices TrueType pour le Web que proporcionó estas fuentes para su descarga gratuita con el objectif¿Qué es un objetivo?En marketing, un objetivo es el resultado que se pretende alcanzar en un periodo de tiempo, a través el uso de los recursos disponibles. Por tanto, se debe formular de una forma clara y hace falta que sea accesible y medible. Suite de que "Chaque fois que vous visitez un site Web qui les spécifie, vous verrez les pages exactement comme le concepteur du site l'a prévu". Oui, cela incluait les sites établis en Comic Sans MS. Voici une pile classique de polices Web sécurisées (avec le dernier recours de
sans empattement
source) pourrait ressembler à ceci:
corps {
famille de polices: Helvetica, Arial, sans empattement;
}
Polices Web
L'époque où les polices Web sécurisées importaient vraiment est révolue depuis longtemps. Aujourd'hui nous avons polices Web, dont certaines sont même des sources variables que l'on peut encore plus modifier en changeant les valeurs des différents axes exposés. Vous pouvez utiliser des polices Web en déclarant un
@ font-face
bloque al comienzo del CSSConcepto de CSS¿Qué es el CSS?CSS es un lenguaje de programación que se usa para definir el estilo y el aspecto de un documento que se ha escrito mediante de un lenguaje de etiquetas, como HTML. Conocido además como hojas de estilo en cascada, es el que se emplea para dar colores, indicar tipos de letra o inclusive resaltar aspectos como el espacio entre items para dotar de estilo a Suite, que especifica el archivo o archivos de fuentes que se descargarán:
@ font-face {
famille de polices: "FlamboyantSansSerif";
src: URLEl URL (Localizador Uniforme de Recursos), es una dirección definida que apunta a la posición de un archivo en un servidor y lo recupera. Las URL se introducen en un navegador web para ingresar a documentos en la web o se incrustan como hipervínculos dentro de un documento. Se puede usar un Permalink para que una URL esté disponible de forma permanente. Componentes de una URL • prefijo de protocolo Suite("flamboyant.woff2");
}
Après cela, vous pouvez utiliser la police Web personnalisée en spécifiant le
famille de polices, comme d'habitude:
corps {
famille de polices: "FlamboyantSansSerif";
}
Sources locales comme vecteur d'empreintes digitales
La plupart des sources Web proviennent, eh bien, du Web. Un fait intéressant, cependant, est que le
src
propriété dans le @ font-face déclaration, en dehors de la
URL ()
fonction, accepte également un
local()
une fonction. Cela permet aux polices personnalisées de se charger (surprise!) Localement. Si l'utilisateur a FlamboyantSansSerif installé sur votre système d'exploitation, la copie locale sera utilisée au lieu du téléchargement:
@ font-face {
famille de polices: "FlamboyantSansSerif";
src: local("FlamboyantSansSerif"),
URL("flamboyant.woff2");
}
Cette approche fournit un bon mécanisme de sauvegarde qui économise potentiellement de la bande passante. Sur Internet, malheureusement, nous ne pouvons pas avoir de belles choses. Le problème avec le local() La función es que se puede abusar de él para la toma de huellas digitales del le navigateurUn navegador (además: browser) es una herramienta informática que te permite ver documentos y datos y navegar por la red. Los navegadores pueden mostrar distintos tipos de recursos de información; principalmente documentos HTML, a pesar de todo, además son posibles otros tipos de archivos y contenido multimedia, como PDF, JPEG, MPEG, GIF o el lenguaje de meta marcado. A través el uso de complementos especiales y la configuración respectivo, los Suite. Resulta que la lista de fuentes que ha instalado un usuario puede resultar bastante identificable. Muchas empresas tienen sus propias fuentes corporativas que se instalan en las computadoras portátiles de los empleados. Por ejemplo, Google tiene una fuente corporativa llamada Google Sans.

La police Google Sans installée sur l'ordinateur portable d'un employé de Google.
Un attaquant peut essayer de déterminer pour quelle entreprise une personne travaille en prouvant l'existence d'un grand nombre de sources d'entreprise appelées Google Sans. L'attaquant tenterait de rendre le texte défini dans ces polices sur un canevas et de mesurer les glyphes. Si les glyphes correspondent à la forme connue de la police d'entreprise, l'attaquant réussit. Si les glyphes ne correspondent pas, l'attaquant sait qu'une police de remplacement par défaut a été utilisée car la police d'entreprise n'a pas été installée. Pour plus de détails sur cette attaque et d'autres attaques par empreintes digitales dans le navigateur, lisez le papier d'enquête par Laperdix et coll.
En dehors des polices d'entreprise, même seule la liste des polices installées peut être identifiée. La situation avec ce vecteur d'attaque est devenue si mauvaise que récemment l'équipe WebKit décidé à "Inclut uniquement [dans la liste des polices disponibles] les polices Web et les polices fournies avec le système d'exploitation, mais pas les polices installées par l'utilisateur installées localement". (Et me voici, avec un article sur l'octroi de l'accès aux sources locales.)
L'API d'accès à la source locale
Le début de cet article vous a peut-être mis de mauvaise humeur. Ne pouvons-nous pas vraiment avoir de belles choses? Ne t'en fais pas. Nous croyons que nous pouvons, et peut-être tout n'est pas désespéré. Mais d'abord, permettez-moi de répondre à une question que vous vous posez peut-être.
Pourquoi avons-nous besoin de l'API d'accès aux polices locales lorsqu'il existe des polices Web?
Históricamente, las herramientas de diseño y gráficos de calidad profesional han sido difíciles de ofrecer en la web. Un obstáculo ha sido la imposibilidad de acceder y utilizar la variedad completa de fuentes sugeridas y construidas por profesionales que los diseñadores han instalado localmente. Las fuentes web habilitan algunos casos de uso de publicación, pero no habilitan el acceso mediante programmationConcepto de Programación¿Qué es la Programación?La Programación es el procedimiento al que se recurre para crear algún tipo de aplicación o software, para materializar un concepto o proyecto que requiere de la utilización de un lenguaje informático para poder llevarse a cabo. Es algo que está absolutamente ligado a la figura del programador, y que cada vez está cobrando más relevancia dentro del mundo del marketing.Decimos que tanto esta figura Suite a las formas de glifos vectoriales y las tablas de fuentes utilizadas por los rasterizadores para representar los contornos de glifos. Asimismo, no hay forma de acceder a los datos binarios de una fuente web.
- Las herramientas de diseño necesitan acceso a bytes de fuente para realizar su propia implementación de diseño OpenType y permitir que las herramientas de diseño se conecten en niveles inferiores, para acciones como realizar les filtresConcepto de Filtros¿Qué son los Filtros?Los Filtros son unos mecanismos que, sea en el campo de la informática o en el de las páginas web, se usan para establecer qué tipo de contenidos se deben visualizar o mostrar por pantalla, o cuáles no deben aparecer. Es algo que se emplea en numerosos lugares con fines muy distintos, pero que siempre tiene como objetivo perfilar la búsqueda para acertar mejor con Suite vectoriales o transformaciones en las formas de glifos.
- Les développeurs peuvent avoir des piles de polices héritées pour leurs applications qu'ils apportent sur le Web. Pour utiliser ces piles, elles nécessitent généralement un accès direct aux données de police, ce que les polices Web ne fournissent pas.
- Certaines polices peuvent ne pas être concédées sous licence pour la distribution sur le Web. Par exemple, Linotype a une licence pour certaines polices qui ne comprend que utilisation de bureau.
L'API d'accès à la source locale est une tentative pour résoudre ces problèmes. Il se compose de deux parties:
- ONGLE API d'énumération de polices, qui permet aux utilisateurs d'accorder l'accès à l'ensemble complet des polices système disponibles.
- A partir de chaque résultat d'énumération, la possibilité de demander un niveau bas (orienté octet) Accès au conteneur SFNT qui comprend les données complètes de la source.
État actuel
| Il a passé | État |
|---|---|
| 1. Créez un explicatif | Compléter |
| 2. Créer une ébauche de spécification initiale | En progrès |
| 3. Recueillez les commentaires et répétez la conception | En progrès |
| 4. Preuve de l'origine | Pas commencé |
| 5. Lancez | Pas commencé |
Comment utiliser l'API d'accès aux polices locales
Activation via chrome: // flags
Pour expérimenter localement avec l'API Local Font Access, activez #font-accès drapeau sur chrome://flags.
Détection des fonctionnalités
Pour vérifier si l'API d'accès aux polices locales est prise en charge, utilisez:
si ('fonts' dans navigateur) {
}
Demander la permission
L'accès aux sources locales d'un utilisateur est bloqué derrière le "polices locales" permission, que vous pouvez demander avec
navigator.permissions.request ().
try {
const statut = attendre navigateur.permissions.request({
patate douce: 'local-fonts',
});
si (statut.Etat !== 'granted') {
throw new Erreur('Permission to access local fonts not granted.');
}
} catch(err) {
si (err.patate douce !== 'TypeError') {
throw err;
}
}
Avertissement:
À ce stade précoce du développement de l'API d'accès à la source locale, l'autorisation mentionnée ci-dessus n'est pas encore implémentée. Pendant ce temps, un message d'autorisation apparaîtra au début de l'énumération des polices. Ce comportement a été implémenté dans crbug.com/1112552.
Dénombrement des sources locales
Une fois l'autorisation accordée, vous pouvez, à partir du FontManager interface qui est exposée dans navigator.fonts, appel mettre en doute () pour demander au navigateur les polices installées localement. Il en résulte un itérateur asynchrone que vous pouvez parcourir en boucle dans un
pour attendre ... de
déclaration. Chaque police est représentée par FontMetadata objet avec des propriétés
Familia (par exemple, "Comic Sans MS"), nom et prénom (par exemple, "Comic Sans MS"), Y postscriptName (par exemple, "ComicSansMS").
const fonts = navigateur.fonts.mettre en douteConcepto de Query¿Qué es una Query?Una query, en inglés, es una definición que significa pregunta. Trasladando este concepto al marketing digital y a internet, se traduce como el concepto que un usuario escribe en un buscador, véase Google, cuando desea realizar una búsqueda usando keywords o palabras clave. Es la serie de términos reales que se utilizan al momento de ir en busca de información en estos portales.Cuando un consumidor Suite();
try {
pour attendre (const métadonnées of fonts) {
console.Journal(métadonnées.postscriptName);
console.Journal(métadonnées.nom et prénom);
console.Journal(métadonnées.Familia);
}
} catch (err) {
console.Erreur(err.patate douce, err.un message);
}
Accéder aux données SFNT
Plein SFNT
l'accès est disponible via le blob () méthode de FontMetadata objet. SFNT est un format de fichier de police qui peut contenir d'autres polices, telles que PostScript, TrueType, OpenType, Web Open Font Format (WOFF), etc.
const fonts = navigateur.fonts.mettre en doute();
try {
pour attendre (const métadonnées of fonts) {
si (métadonnées.Familia !== 'Comic Sans MS') {
continue;
}
const sfnt = attendre métadonnées.goutte();const sfntVersion = (new TextDecoder).decode(
attendre sfnt.slice(0, 4).arrayBuffer());
laisser outlineFormat = 'UNKNOWN';
switch (sfntVersion) {
case 'x00x01x00x00':
case 'true':
case 'typ1':
outlineFormat = 'truetype';
break;
case 'OTTO':
outlineFormat = 'cff';
break;
}
console.Journal('Outline format:', outlineFormat);
}
} catch (err) {
console.Erreur(err.patate douce, err.un message);
}
Manifestation
Vous pouvez voir l'API Local Source Access en action dans le
manifestation en dessous de. Assurez-vous également de vérifier
code source. La démo montre un élément personnalisé appelé qui implémente un sélecteur de police local.
Considérations relatives à la confidentialité
Les "polices locales" el permiso parece proporcionar una superficie altamente imprimible. Sin embargo, los navigateursConcepto de Navegadores¿Qué son los Navegadores?Los Navegadores son herramientas informáticas que utilizamos para, normalmente, navegar por Internet y visitar cualquier página web, al mismo tiempo de para hacer otras tareas como ver documentos, observar vídeos o reproducir contenido multimedia de cualquier tipo. Son un tipo de software sencillamente usual y bastante utilizado hoy en día.Insistimos en que es algo que se utiliza con mucha frecuencia, puesto que moverse por Internet Suite pueden devolver lo que quieran. Por ejemplo, los navegadores centrados en el anonimato pueden optar por proporcionar solo un conjunto de fuentes predeterminadas integradas en el navegador. De manera similar, los navegadores no están obligados a proporcionar datos de tabla exactamente como aparecen en el disco.
Dans la mesure du possible, l'API d'accès à la source locale est conçue pour exposer exactement les informations nécessaires pour activer les cas d'utilisation mentionnés. Les API système peuvent produire une liste des polices installées non pas dans un ordre aléatoire ou ordonné, mais dans l'ordre d'installation des polices. Le renvoi exact de la liste des polices installées fournie par ladite API système peut exposer des données supplémentaires pouvant être utilisées pour la prise d'empreintes digitales, et les cas d'utilisation que nous voulons activer ne sont pas pris en charge en conservant cet ordre. Par conséquent, cette API nécessite que les données renvoyées soient triées avant d'être renvoyées.
Sécurité et autorisations
L'équipe Chrome a conçu et mis en œuvre l'API Local Font Access en utilisant les principes de base définis dans Contrôlez l'accès aux fonctionnalités puissantes de la plate-forme Web, y compris le contrôle de l'utilisateur, la transparence et l'ergonomie.
Contrôle utilisateur
L'accès aux sources d'un utilisateur est entièrement sous son contrôle et ne sera autorisé que si l'utilisateur "polices locales" autorisation, comme indiqué dans le
enregistrement de permis, Il est accordé.
Transparence
Si un site a obtenu l'accès aux sources locales de l'utilisateur, il sera visible dans le
fiche d'information du site.
Persistance des autorisations
Les "polices locales" l'autorisation sera conservée entre les rechargements de page. Il peut être révoqué par le Informations sur le site drap de lit.
Retour
L'équipe Chrome souhaite connaître vos expériences avec l'API Local Font Access.
Parlez-nous de la conception de l'API
Y a-t-il quelque chose dans l'API qui ne fonctionne pas comme prévu? Ou vous manquez-vous des méthodes ou des propriétés dont vous avez besoin pour mettre en œuvre votre idée? Vous avez une question ou un commentaire sur le modèle de sécurité? Déposer un problème de spécification dans le Dépôt GitHubou ajoutez vos réflexions à un problème existant.
Signaler un problème avec le déploiement
Vous avez trouvé un bogue avec la mise en œuvre de Chrome? Ou la mise en œuvre est-elle différente de la spécification? Signaler un bogue dans new.crbug.com. Assurez-vous d'inclure autant de détails que possible, des instructions simples à reproduire et de saisir Clignoter> Polices dans le Composants (modifier) boîte. Échec fonctionne très bien pour un partage rapide et facile des répétitions.
Afficher la prise en charge de l'API
Vous envisagez d'utiliser l'API Local Font Access? Votre assistance publique aide l'équipe Chrome à hiérarchiser les fonctionnalités et montre aux autres fournisseurs de navigateurs à quel point il est important de les prendre en charge.
Envoyer un tweeterUn tweet es un mensaje corto que puede ser enviado por medio de del servicio de microblogging Twitter. ¿Qué es un tweet? Un tweet es un mensaje de estado en Twitter que puede tener hasta 280 caracteres. Los tweets solían limitarse a 140 caracteres, pero esta cantidad se incrementó a 280 en septiembre de 2017. Debido al espacio limitado para el texto, las URLs para uso en tweets son normalmente Suite à @Cromodev avec lui #LocalFontAccess hashtagConcepto de Hashtag¿Qué es un Hashtag?Un Hashtag es una almohadilla (#), o más bien, una palabra que se adjunta a esta para crear una etiqueta en determinadas redes sociales. Utilizada en un comienzo por Twitter, poco a poco se ha ido extendiendo por demás rincones de la red de redes, hasta el punto de ser uno de los componentes esenciales al momento de transmitir información, agrupar contenidos o catalogar tendencias.Facebook, Suite et faites-nous savoir où et comment vous l'utilisez.
Liens utiles
Merci
La spécification de l'API d'accès à la source locale a été modifiée par
Emil A. Eklund,
Alex Russell,
Cloche de Joshuay
Olivier Yiptong. Cet article a été révisé par
Joe medley,
Dominik Röttschesy
Olivier Yiptong. Image de héros de Brett Jordanie au Unsplash.




