# General Translation Platform: uploadFonts
URL: https://generaltranslation.com/ja/docs/platform/core/reference/gt-class-methods/translation/upload-fonts.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Lottie 翻訳ワークフロー用の永続フォントアセットをアップロードします。uploadFonts の API リファレンス。

プロジェクトを通じて TrueType または OpenType フォントをアップロードすると、同じ Organization 内の Lottie 翻訳ジョブでレイアウト処理時に使用できます。

## 概要 [#overview]

base64 エンコードされたフォントアセットを指定して `uploadFonts` を呼び出します。このメソッドは大きな入力を 50 件単位のバッチに分割し、保存されたアセットの識別子を返します。

```typescript
const result = await gt.uploadFonts(fonts, {
  timeout: 30000,
});
```

シグネチャ:

```typescript
uploadFonts(
  fonts: AssetUpload[],
  options?: UploadAssetsOptions
): Promise<UploadAssetsResponse>
```

*注: `uploadFonts` を使用するには、GT インスタンスに `apiKey` (または `devApiKey`) と `projectId` が必要です。*

## 仕組み [#how-it-works]

* フォントコンテンツは、メソッドに渡す時点ですでにBase64エンコードされている必要があります。
* 各フォントには `.ttf` または `.otf` のファイル名が必要で、デコード後のサイズは20MB以下でなければなりません。
* フォントの所有元となるOrganizationはプロジェクトによって決まります。アップロードしたフォントは、そのOrganizationの翻訳ジョブ間で保持されます。
* サービスはフォントメタデータからフォントファミリー、ウェイト、イタリックスタイルを導出し、取得できない場合はファイル名にフォールバックします。同じ識別情報を持つフォントを再度アップロードすると、保存されているアセットが置き換えられます。
* 50個を超えるフォントを含む入力は、複数のリクエストに分けてアップロードされます。

 (検証、識別情報、再試行時の動作については、[プロジェクトのアセットをアップロード](/docs/platform/openapi/reference/project/upload-assets)を参照してください) 。

## パラメータ [#parameters]

| パラメータ                 | 説明                          | 型                     | 任意  | デフォルト |
| --------------------- | --------------------------- | --------------------- | --- | ----- |
| [`fonts`](#fonts)     | アップロードするBase64エンコード済みのフォント。 | `AssetUpload[]`       | いいえ | —     |
| [`options`](#options) | リクエストの設定。                   | `UploadAssetsOptions` | はい  | `{}`  |

### `fonts` [#fonts]

**型** `AssetUpload[]` · **必須**

| フィールド       | 説明                           | 型        | 任意  |
| ----------- | ---------------------------- | -------- | --- |
| `assetType` | アセットの種類。`FONT` のみサポートされています。 | `'FONT'` | いいえ |
| `content`   | Base64 エンコードされたフォントのバイト列。    | `string` | いいえ |
| `fileName`  | `.ttf` または `.otf` で終わるファイル名。 | `string` | いいえ |

### `options` [#options]

**型** `UploadAssetsOptions` · **任意** · **デフォルト** `{}`

| フィールド     | 説明                   | 型        | 任意 |
| --------- | -------------------- | -------- | -- |
| `timeout` | リクエストのタイムアウト (ミリ秒) 。 | `number` | はい |

## 戻り値 [#returns]

**型** `Promise<UploadAssetsResponse>`

保存されたアセットの識別子と、処理されたフォント数を返します。

| Property            | 説明                                       | Type              |
| ------------------- | ---------------------------------------- | ----------------- |
| `assets`            | 保存されたフォントアセット。                           | `UploadedAsset[]` |
| `assets[].id`       | 保存されたOrganizationアセットのID。                | `string`          |
| `assets[].assetKey` | `<family>-<weight>[-i]`形式で導出されたフォント識別情報。 | `string`          |
| `assets[].fileName` | アップロード時に指定したファイル名。                       | `string`          |
| `count`             | 処理されたフォント数。                              | `number`          |

<Callout type="warn">
  **v9.1.0における現在の型不一致:** `UploadedAsset`では`deduped`ブール値が宣言されていますが、サービスレスポンスには含まれません。既存のフォントが置き換えられたかどうかの判定に、このフィールドを使用しないでください。
</Callout>

## 例 [#example]

```typescript title="upload-fonts.ts"
import { readFile } from 'node:fs/promises';
import { GT } from 'generaltranslation';

const gt = new GT({
  apiKey: process.env.GT_API_KEY,
  projectId: process.env.GT_PROJECT_ID,
});

const content = (await readFile('./public/fonts/BrandSans.ttf')).toString(
  'base64'
);

const result = await gt.uploadFonts([
  {
    assetType: 'FONT',
    content,
    fileName: 'BrandSans.ttf',
  },
]);

console.log(result.assets[0].assetKey);
```

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
