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 Plus de acceso a fuentes locales le permite acceder a las fuentes instaladas localmente del usuario y obtener detalles de bajo nivel sobre ellas.
Die Local Source Access API ist Teil von
Fähigkeiten Projekt
und befindet sich derzeit in der Entwicklung. Dieser Beitrag wird im Verlauf der Implementierung aktualisiert.
Sichere Schriftarten für das Web
Wenn Sie lange genug Webentwicklung betrieben haben, können Sie sich an den Anruf erinnern sichere Web-Schriftarten. Es ist bekannt, dass diese Schriftarten auf fast allen am häufigsten verwendeten Betriebssystemen verfügbar sind (nämlich Windows, MacOS, die gängigsten Linux-Distributionen, Android und iOS). In den frühen 2000er Jahren führte Microsoft sogar eine Initiative namens Top TrueType-Schriftarten für das Web que proporcionó estas fuentes para su descarga gratuita con el Ziel¿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. Plus de que "Wenn Sie eine Website besuchen, auf der sie angegeben sind, werden die Seiten genau so angezeigt, wie es der Website-Designer beabsichtigt hat.". Ja, dies schloss die Websites ein, die in eingerichtet wurden Comic ohne MS. Hier ist ein klassischer Stapel web-sicherer Schriftarten (mit dem letzten Ausweg von
serifenlos
Quelle) könnte so aussehen:
Körper {
Schriftfamilie: Helvetica, Arial, serifenlos;
}
Web-Schriftarten
Die Zeiten, in denen sichere Web-Schriftarten wirklich wichtig waren, sind lange vorbei. Heute haben wir Web-SchriftartenEinige davon sind sogar variable Quellen, die wir noch weiter modifizieren können, indem wir die Werte der verschiedenen exponierten Achsen ändern. Sie können Web-Schriftarten verwenden, indem Sie a deklarieren
@ Schriftart
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 Plus, que especifica el archivo o archivos de fuentes que se descargarán:
@ Schriftart {
Schriftfamilie: "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 Plus("flamboyant.woff2");
}
Danach können Sie die benutzerdefinierte Webschrift verwenden, indem Sie die angeben
Schriftfamilie, wie gewöhnlich:
Körper {
Schriftfamilie: "FlamboyantSansSerif";
}
Lokale Quellen als Fingerabdruckvektor
Die meisten Webquellen stammen aus dem Internet. Eine interessante Tatsache ist jedoch, dass die
src
Eigentum in der @ Schriftart Aussage, abgesehen von der
url ()
Funktion, akzeptiert auch a
lokal()
Funktion. Dadurch können benutzerdefinierte Schriftarten lokal geladen werden (Überraschung!). Wenn der Benutzer hat FlamboyantSansSerif Auf Ihrem Betriebssystem installiert, wird die lokale Kopie verwendet, anstatt sie herunterzuladen:
@ Schriftart {
Schriftfamilie: "FlamboyantSansSerif";
src: lokal("FlamboyantSansSerif"),
URL("flamboyant.woff2");
}
Dieser Ansatz bietet einen guten Sicherungsmechanismus, der möglicherweise Bandbreite spart. Im Internet können wir leider keine schönen Dinge haben. Das Problem mit dem lokal() La función es que se puede abusar de él para la toma de huellas digitales del BrowserUn 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 Plus. 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.

Die auf dem Laptop eines Google-Mitarbeiters installierte Google Sans-Schriftart.
Ein Angreifer kann versuchen, festzustellen, für welches Unternehmen jemand arbeitet, indem er die Existenz einer großen Anzahl von Unternehmensquellen nachweist, die als bekannt sind Google Sans. Der Angreifer würde versuchen, den in diesen Schriftarten festgelegten Text auf einer Leinwand zu rendern und die Glyphen zu messen. Wenn die Glyphen mit der bekannten Form der Unternehmensschriftart übereinstimmen, ist der Angreifer erfolgreich. Wenn die Glyphen nicht übereinstimmen, weiß der Angreifer, dass eine Standardersatzschrift verwendet wurde, da die Unternehmensschrift nicht installiert wurde. Ausführliche Informationen zu diesem und anderen Fingerabdruckangriffen des Browsers finden Sie im Umfragepapier von Laperdix et al.
Abgesehen von Firmenschriftarten kann auch nur die Liste der installierten Schriftarten identifiziert werden. Die Situation mit diesem Angriffsvektor ist so schlimm geworden, dass kürzlich das WebKit-Team beschlossen zu "Enthält nur [in der Liste der verfügbaren Schriftarten] Web-Schriftarten und Schriftarten, die mit dem Betriebssystem geliefert werden, jedoch keine lokal installierten, vom Benutzer installierten Schriftarten.". (Und hier bin ich mit einem Artikel über die Gewährung des Zugangs zu lokalen Quellen.)
Die lokale Quellzugriffs-API
Der Anfang dieses Artikels hat Sie möglicherweise in schlechte Laune versetzt. Können wir nicht wirklich schöne Dinge haben? Keine Sorge. Wir glauben, dass wir es können und vielleicht nicht alles ist verzweifelt. Aber lassen Sie mich zunächst eine Frage beantworten, die Sie sich vielleicht fragen.
Warum benötigen wir die lokale API für den Schriftzugriff, wenn Web-Schriftarten vorhanden sind?
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 ProgrammierungConcepto 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 Plus 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 FilterConcepto 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 Plus vectoriales o transformaciones en las formas de glifos.
- Entwickler können ältere Schriftstapel für ihre Anwendungen haben, die sie ins Web bringen. Um diese Stapel verwenden zu können, benötigen sie im Allgemeinen direkten Zugriff auf Schriftdaten, was Web-Schriftarten nicht bieten.
- Einige Schriftarten sind möglicherweise nicht für die Verbreitung über das Internet lizenziert. Zum Beispiel hat Linotype eine Lizenz für einige Schriftarten, die nur enthält Desktop-Nutzung.
Die Local Source Access API ist ein Versuch, diese Herausforderungen zu lösen. Es besteht aus zwei Teilen:
- EIN API zur Aufzählung von SchriftartenHiermit können Benutzer Zugriff auf alle verfügbaren Systemschriftarten gewähren.
- Aus jedem Aufzählungsergebnis die Fähigkeit, eine niedrige Ebene anzufordern (byteorientiert) Zugriff auf den SFNT-Container Dies beinhaltet die vollständigen Daten der Quelle.
Tatsächlicher Zustand
| Er ging vorbei | Bedingung |
|---|---|
| 1. Erstellen Sie einen Erklärer | Fertigstellen |
| 2. Erstellen Sie eine erste Entwurfsspezifikation | In Bearbeitung |
| 3. Sammeln Sie Feedback und wiederholen Sie das Design | In Bearbeitung |
| 4. Herkunftsnachweis | Nicht angefangen |
| 5. Starten Sie | Nicht angefangen |
Verwendung der lokalen API für den Schriftzugriff
Aktivierung über chrome: // flags
Aktivieren Sie diese Option, um lokal mit der API für den lokalen Schriftzugriff zu experimentieren #font-Zugriff Flagge an chrome://flags.
Funktionserkennung
Verwenden Sie Folgendes, um zu überprüfen, ob die lokale API für den Schriftzugriff unterstützt wird:
wenn ('fonts' im Navigator) {
}
Um Erlaubnis fragen
Der Zugriff auf die lokalen Quellen eines Benutzers ist hinter dem blockiert "local-fonts" Erlaubnis, mit der Sie anfordern können
navigator.permissions.request ().
try {
const Status = erwarten Navigator.permissions.request({
Süßkartoffel: 'local-fonts',
});
wenn (Status.Zustand !== 'granted') {
throw new Error('Permission to access local fonts not granted.');
}
} catch(err) {
wenn (err.Süßkartoffel !== 'TypeError') {
throw err;
}
}
Warnung:
In diesem frühen Stadium der Entwicklung der Local Source Access API ist die oben genannte Berechtigung noch nicht implementiert. In der Zwischenzeit wird eine Berechtigungsmeldung angezeigt, sobald die Aufzählung der Schriftarten beginnt. Dieses Verhalten wurde in implementiert crbug.com/1112552.
Aufzählung lokaler Quellen
Sobald die Erlaubnis erteilt wurde, können Sie von der FontManager Schnittstelle, die in ausgesetzt ist navigator.fonts, Anruf query () um den Browser zur Eingabe lokal installierter Schriftarten aufzufordern. Dies führt zu einem asynchronen Iterator, den Sie in a durchlaufen können
auf warten ... von
Aussage. Jede Schriftart wird als dargestellt FontMetadata Objekt mit Eigenschaften
Familia (beispielsweise, "Comic Sans MS"), vollständiger Name (beispielsweise, "Comic Sans MS"), Y. postscriptName (beispielsweise, "ComicSansMS").
const fonts = Navigator.fonts.AbfrageConcepto 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 Plus();
try {
zum erwarten (const Metadaten of fonts) {
console.Log(Metadaten.postscriptName);
console.Log(Metadaten.vollständiger Name);
console.Log(Metadaten.Familia);
}
} catch (err) {
console.Error(err.Süßkartoffel, err.Botschaft);
}
Zugriff auf SFNT-Daten
Voll SFNT
Der Zugang ist über die blob () Methode von FontMetadata Objekt. SFNT ist ein Schriftdateiformat, das andere Schriftarten enthalten kann, z. B. PostScript, TrueType, OpenType, WOFF (Web Open Font Format) und andere.
const fonts = Navigator.fonts.Abfrage();
try {
zum erwarten (const Metadaten of fonts) {
wenn (Metadaten.Familia !== 'Comic Sans MS') {
fortsetzen;
}
const sfnt = erwarten Metadaten.Klecks();const sfntVersion = (new TextDecoder).decode(
erwarten sfnt.slice(0, 4).arrayBuffer());
Lassen outlineFormat = 'UNKNOWN';
switch (sfntVersion) {
case 'x00x01x00x00':
case 'true':
case 'typ1':
outlineFormat = 'truetype';
brechen;
case 'OTTO':
outlineFormat = 'cff';
brechen;
}
console.Log('Outline format:', outlineFormat);
}
} catch (err) {
console.Error(err.Süßkartoffel, err.Botschaft);
}
Manifestation
Sie können die lokale Quellzugriffs-API in Aktion in sehen
Manifestation unter. Überprüfen Sie auch die
Quellcode. Die Demo zeigt ein benutzerdefiniertes Element namens Dies implementiert eine lokale Schriftartenauswahl.
Datenschutzüberlegungen
das "local-fonts" el permiso parece proporcionar una superficie altamente imprimible. Sin embargo, los BrowserConcepto 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 Plus 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.
Wann immer möglich, ist die lokale Quellzugriffs-API so konzipiert, dass genau die Informationen verfügbar gemacht werden, die zum Aktivieren der genannten Anwendungsfälle erforderlich sind. System-APIs können eine Liste der installierten Schriftarten nicht in zufälliger oder geordneter Reihenfolge, sondern in der Reihenfolge der Schriftinstallation erstellen. Wenn Sie genau die Liste der installierten Schriftarten zurückgeben, die von der System-API bereitgestellt werden, können zusätzliche Daten verfügbar gemacht werden, die für den Fingerabdruck verwendet werden können. Die Anwendungsfälle, die wir aktivieren möchten, werden durch Beibehalten dieser Reihenfolge nicht unterstützt. Daher erfordert diese API, dass die zurückgegebenen Daten sortiert werden, bevor sie zurückgegeben werden.
Sicherheit und Berechtigungen
Das Chrome-Team hat die lokale Schriftzugriffs-API unter Verwendung der in definierten Grundprinzipien entworfen und implementiert Steuern Sie den Zugriff auf leistungsstarke Funktionen der Webplattform, einschließlich Benutzerkontrolle, Transparenz und Ergonomie.
Nutzerkontrolle
Der Zugriff auf die Quellen eines Benutzers unterliegt vollständig seiner Kontrolle und ist nur zulässig, wenn der Benutzer dies tut "local-fonts" Erlaubnis, wie in der angegeben
Registrierung zulassenEs wird gewährt.
Transparenz
Wenn einer Site Zugriff auf die lokalen Quellen des Benutzers gewährt wurde, wird diese in der angezeigt
Site-Informationsblatt.
Berechtigungspersistenz
das "local-fonts" Die Berechtigung wird zwischen dem erneuten Laden der Seite beibehalten. Es kann durch die widerrufen werden Seiteninformation Bettdecke.
Feedback
Das Chrome-Team möchte mehr über Ihre Erfahrungen mit der Local Font Access API erfahren.
Erzählen Sie uns etwas über das API-Design
Gibt es etwas in der API, das nicht wie erwartet funktioniert? Oder fehlen Ihnen Methoden oder Eigenschaften, die Sie zur Umsetzung Ihrer Idee benötigen? Haben Sie eine Frage oder einen Kommentar zum Sicherheitsmodell? Legen Sie ein Spezifikationsproblem in der entsprechenden Datei ab GitHub-Repositoryoder fügen Sie Ihre Gedanken zu einem bestehenden Problem hinzu.
Melden Sie ein Problem mit der Bereitstellung
Haben Sie einen Fehler bei der Chrome-Implementierung gefunden? Oder unterscheidet sich die Implementierung von der Spezifikation? Einen Fehler einreichen new.crbug.com. Stellen Sie sicher, dass Sie so viele Details wie möglich, einfache Anweisungen zum Reproduzieren und Eingeben enthalten Blinken> Schriftarten beim Komponenten (bearbeiten) Box. Fehler funktioniert hervorragend für das schnelle und einfache Teilen von Wiederholungen.
API-Unterstützung anzeigen
Denken Sie darüber nach, die Local Font Access API zu verwenden? Ihr öffentlicher Support hilft dem Chrome-Team bei der Priorisierung von Funktionen und zeigt anderen Browser-Anbietern, wie wichtig es ist, diese zu unterstützen.
Sende ein TweetUn 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 Plus zu @Cromodev mit dem #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, Plus und lassen Sie uns wissen, wo und wie Sie es verwenden.
Nützliche Links
Vielen Dank
Die API-Spezifikation für den lokalen Quellzugriff wurde von bearbeitet
Emil A. Eklund,
Alex Russell,
Joshua Glockey
Olivier Yiptong. Dieser Artikel wurde von überprüft
Joe Medley,
Dominik Röttschesy
Olivier Yiptong. Heldenbild von Brett Jordan im Unsplash.




