メタデータを取得| JavaScript用のAPIソリューション

「名前」テーブルからフォントメタデータを読む方法は?

AsposeFontgetInfo関数を使用して、「名前」Table of TrueTypeまたはOpenTypeフォントのレコードを読むことができます。

対応する列挙は、配列からのレコードの各値を示すために使用されます。この関数は、これらの列挙の名前を返します。

したがって、 ttfnameTableNameidttfnameTablePlatformidnameIdおよびPlatformIdに使用されます。

TTFNAMETABLEMACPLATFORMSPICIDttfnameTablemsplatformspecid、または TTFNAMETABLEUNICODEPLATFORMSPICID PlatformSpecificId、および

ttfnameTablemaclanguageid、または TTFNAMETABLEMSLANGUAGEIDLanguageID値の場合。

メタデータを取得する例

  1. filreaderを作成します。
  2. Asposefontgetinfo関数を実行します。
  3. 次に、json.errorcodeが0の場合、結果データを取得できます。 json.errorcodeパラメーターが0に等しくなく、したがってファイルにエラーが発生する場合、そのようなエラーに関する情報は json.errortextに含まれます。
  4. 結果のJSONオブジェクトには、「レコード」配列が含まれています。各レコードには、フィールドnameIdPlatformIdPlatformspecifidLanguageID、「情報」が含まれています。
 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  }

またはWebワーカーの使用:

 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>

解決策を取得する方法は?

ライブラリを持ちたい場合は、 JavaScript製品ページのAspose.Fontにアクセスしてください。そこでは、ソリューションが提供する機会が増えます。無料トライアルをダウンロードしたり、そこで製品を購入したりできます。

問題や質問が残っている場合は、 aspose.font.productファミリー free support forumのセクションに投稿してください。

また、 Font Metadataクロスプラットフォームアプリケーションをチェックして、独自のアプリの作成にAPIを使用できる機能と方法を完全に理解してください。

Have any questions about Aspose.Font?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.