Obtendo metadados | Solução da API para JavaScript

Como ler os metadados da fonte da tabela ‘Name’?

Você pode ler registros da tabela ‘Name’ da fonte TrueType ou OpenType usando a função AsposeFontgetInfo.

As enumerações correspondentes são usadas para indicar cada valor do registro da matriz. A função retorna os nomes dessas enumerações.

Então, ttfninetableNameId e Ttfninetableplatformid são usados ​​para nameid e platafortID,

TtfninetableMacplatformSpecificid, TtfninetablemsplatformSpecificid, ou Ttfninetableunicodeplatformpecificid para plataformspecificid e

TtfninetableMaclaguageId, ou TtfninetablemslanguageId para valores de idioma .

Exemplos de obter metadados

  1. Crie um ‘fileReader’.
  2. Execute a função AsposeFontgetInfo.
  3. Em seguida, se o json.errorcode for 0, você poderá obter os dados de resultado. Se o parâmetro json.errorcode não for igual a 0 e, portanto, haverá um erro no seu arquivo, as informações sobre esse erro estarão contidas no json.errorText.
  4. O objeto JSON resultante contém a matriz registros. O registro contém campos nameid,plataformid, plataformSpecificid,idiomainfocom informações da tabela name t ‘da fonte.
 1  var ffileFontGetInfo = function (e) {
 2    const file_reader = new FileReader();
 3    file_reader.onload = (event) => {
 4      const json = AsposeFontGetInfo(event.target.result, e.target.files[0].name);
 5      if (json.errorCode == 0) {
 6        document.getElementById('output').textContent = "Name records count: " + json.records.length;
 7        for (let recordIndex = 0; recordIndex < json.records.length; recordIndex++) 
 8			document.getElementById('output').textContent += " " + "\n"
 9													     + "NameId : " + json.records[recordIndex].NameId
10                                                         + ";  PlatformId : " + json.records[recordIndex].PlatformId
11                                                         + ";  PlatformSpecificId : " + json.records[recordIndex].PlatformSpecificId
12                                                         + ";  LanguageId : " + json.records[recordIndex].LanguageId
13                                                         + ";  Info : " + json.records[recordIndex].Info;
14      }
15      else document.getElementById('output').textContent = json.errorText;
16    }
17    file_reader.readAsArrayBuffer(e.target.files[0]);
18  }

ou usando o Web Worker:

 1<script type="text/javascript">
 2
 3  /*Create Web Worker*/
 4  const AsposeFontWebWorker = new Worker("AsposeFontforJS.js");
 5  AsposeFontWebWorker.onerror = evt => console.log(`Error from Web Worker: ${evt.message}`);
 6  AsposeFontWebWorker.onmessage = evt => document.getElementById('output').textContent = 
 7    (evt.data == 'ready') ? 'loaded!' :
 8      (evt.data.json.errorCode == 0) ? "Name records count: " + evt.data.json.records.length + 
 9										evt.data.json.records.reduce((ret, a) => ret +
10										    "\nNameId : " + a.NameId
11						                  + "; PlatformId : " + a.PlatformId
12						                  + "; PlatformSpecificId : " + a.PlatformSpecificId
13						                  + "; LanguageId : " + a.LanguageId
14						                  + "; Info : " + a.Info,"") :
15        `Error: ${evt.data.json.errorText}`;
16
17  /*Event handler*/
18  var ffileFontGetInfo = function (e) {
19    const file_reader = new FileReader();
20    file_reader.onload = (event) => {
21      var transfer = [event.target.result];
22      var params = [event.target.result, e.target.files[0].name];
23      return AsposeFontWebWorker.postMessage({ "operation": "AsposeFontGetInfo", "params": params }, transfer);
24    }
25    file_reader.readAsArrayBuffer(e.target.files[0]);
26  }
27
28</script>

Como obter a solução?

Se você deseja ter a biblioteca, vá para Aspose.Font para JavaScript Product Page. Lá você encontrará mais oportunidades que a solução oferece. Você pode baixar uma avaliação gratuita ou comprar o produto lá.

Se você tiver problemas ou perguntas, sinta -se à vontade para publicá -los na seção Aspose.Font.Product Family do Fórum de Suporte Free e em poucas horas nossa equipe de suporte limpará tudo para você.

Além disso, verifique nosso aplicativo Font Metadata de plataforma cruzada para entender completamente a funcionalidade e a maneira como a API pode ser usada para criar seu próprio aplicativo.

Have any questions about Aspose.Font?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.