メタデータを取得| JavaScript用のAPIソリューション
「名前」テーブルからフォントメタデータを読む方法は?
AsposeFontgetInfo関数を使用して、「名前」Table of TrueTypeまたはOpenTypeフォントのレコードを読むことができます。
対応する列挙は、配列からのレコードの各値を示すために使用されます。この関数は、これらの列挙の名前を返します。
したがって、
ttfnameTableNameidと
ttfnameTablePlatformidはnameId
およびPlatformId
に使用されます。
TTFNAMETABLEMACPLATFORMSPICID、
ttfnameTablemsplatformspecid、または
TTFNAMETABLEUNICODEPLATFORMSPICID PlatformSpecificId
、および
ttfnameTablemaclanguageid、または
TTFNAMETABLEMSLANGUAGEIDLanguageID
値の場合。
メタデータを取得する例
filreader
を作成します。- Asposefontgetinfo関数を実行します。
- 次に、
json.errorcode
が0の場合、結果データを取得できます。json.errorcode
パラメーターが0に等しくなく、したがってファイルにエラーが発生する場合、そのようなエラーに関する情報はjson.errortext
に含まれます。 - 結果のJSONオブジェクトには、「レコード」配列が含まれています。各レコードには、フィールド
nameId
、PlatformId
、Platformspecifid
、LanguageID
、「情報」が含まれています。
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を使用できる機能と方法を完全に理解してください。