Bagikan melalui


Fungsi TTLoadEmbeddedFont (t2embapi.h)

Membaca font yang disematkan dari aliran dokumen dan menginstalnya. Juga memungkinkan klien untuk lebih membatasi hak istimewa penyematan font.

Sintaks

LONG TTLoadEmbeddedFont(
  [out]          HANDLE        *phFontReference,
  [in]           ULONG         ulFlags,
  [out]          ULONG         *pulPrivStatus,
  [in]           ULONG         ulPrivs,
  [out]          ULONG         *pulStatus,
  [in]           READEMBEDPROC lpfnReadFromStream,
  [in]           LPVOID        lpvReadStream,
  [in, optional] LPWSTR        szWinFamilyName,
  [in, optional] LPSTR         szMacFamilyName,
  [in, optional] TTLOADINFO    *pTTLoadInfo
);

Parameter

[out] phFontReference

Penunjuk ke handel yang mengidentifikasi font tersemat yang terpasang. Handel ini mereferensikan struktur internal, bukan Hfont.

[in] ulFlags

Bendera yang menentukan opsi pemuatan dan penginstalan. Saat ini, bendera ini dapat diatur ke nol atau nilai berikut:

Nilai Makna
TTLOAD_PRIVATE
Muat font agar tidak dijumlahkan ke pengguna. Jika font tidak dapat diinstal, font akan tetap privat.

[out] pulPrivStatus

Penunjuk untuk menandai yang menunjukkan hak istimewa penyematan font. Bendera ini ditulis setelah menyelesaikan fungsi ini dan dapat memiliki salah satu nilai berikut. Fungsi ini mengembalikan lisensi yang paling tidak ketat yang diberikan.

Nilai Makna
EMBED_PREVIEWPRINT
Pratinjau dan Penyematan Cetak. Font mungkin disematkan dalam dokumen, tetapi hanya boleh diinstal sementara pada sistem jarak jauh. Dokumen yang berisi tipe font ini hanya dapat dibuka sebagai baca-saja. Aplikasi tidak boleh mengizinkan pengguna untuk mengedit dokumen. Dokumen hanya dapat dilihat dan/atau dicetak.
EMBED_EDITABLE
Penyematan yang Dapat Diedit. Font mungkin disematkan dalam dokumen, tetapi hanya boleh diinstal sementara pada sistem jarak jauh. Dokumen yang berisi jenis font ini dapat dibuka "baca/tulis," dengan pengeditan diizinkan.
EMBED_INSTALLABLE
Penyematan yang Dapat Diinstal. Fonta mungkin disematkan dan dipasang secara permanen pada sistem jarak jauh. Pengguna sistem jarak jauh memperoleh hak, kewajiban, dan lisensi yang identik untuk font tersebut sebagai pembeli asli font, dan tunduk pada perjanjian lisensi pengguna akhir yang sama, hak cipta, paten desain, dan/atau merek dagang seperti pembeli asli.
EMBED_NOEMBEDDING
Penyematan Lisensi Terbatas. Font tidak boleh dimodifikasi, disematkan, atau ditukar dengan cara apa pun tanpa terlebih dahulu mendapatkan izin dari pemilik hukum.

[in] ulPrivs

Bendera yang menunjukkan pembatasan hak istimewa penyematan lebih lanjut, yang diberlakukan oleh klien yang memuat font. Bendera ini harus memiliki salah satu nilai berikut.

Nilai Makna
LICENSE_PREVIEWPRINT
Pratinjau dan Penyematan Cetak.
LICENSE_EDITABLE
Penyematan yang Dapat Diedit.
LICENSE_INSTALLABLE
Penyematan yang Dapat Diinstal.
LICENSE_NOEMBEDDING
Penyematan Lisensi Terbatas.
LICENSE_DEFAULT
Gunakan tingkat penyematan default.

[out] pulStatus

Pointer ke bitfield yang berisi informasi status tentang permintaan TTLoadEmbeddedFont . Bidang ini diisi setelah menyelesaikan fungsi ini dan dapat memiliki nol atau lebih dari nilai berikut.

Nilai Makna
TTLOAD_FONT_SUBSETTED
Font yang dimuat adalah subset dari font asli.
TTLOAD_FONT_IN_SYSSTARTUP
Font yang dimuat diberi label sebagai dapat diinstal dan telah ditambahkan ke registri sehingga akan tersedia saat startup.

[in] lpfnReadFromStream

Penunjuk ke fungsi panggilan balik yang ditentukan klien yang membaca struktur font dari aliran dokumen.

[in] lpvReadStream

Penunjuk ke aliran (struktur font).

[in, optional] szWinFamilyName

Penunjuk ke nama keluarga 16-bit-character Unicode Microsoft Windows baru dari font. Atur ke NULL untuk menggunakan nama yang sudah ada. Saat mengubah nama font saat memuat, Anda harus menyediakan parameter ini dan parameter szMacFamilyName .

[in, optional] szMacFamilyName

Penunjuk ke nama keluarga Macintosh 8-bit karakter baru dari font. Atur ke NULL untuk menggunakan nama yang sudah ada. Saat mengubah nama font saat memuat, Anda harus menyediakan parameter ini dan parameter szWinFamilyName .

[in, optional] pTTLoadInfo

Penunjuk ke struktur TTLOADINFO yang berisi URL tempat objek font tersemat diperoleh. Jika nilai ini tidak cocok dengan salah satu yang terkandung dalam struktur TTEMBEDINFO , font tidak akan berhasil dimuat.

Mengembalikan nilai

Jika berhasil, mengembalikan E_NONE.

Jika pemuatan font berhasil, font yang ditunjukkan oleh phFontReference dibuat dari struktur font dengan nama yang direferensikan dalam szWinFamilyName dan szMacFamilyName. pulPrivStatus diatur menunjukkan hak istimewa penyematan font; dan pulStatus dapat diatur yang menunjukkan informasi status tentang operasi pemuatan font.

Jika tidak, mengembalikan kode kesalahan yang dijelaskan dalam Menyematkan Pesan Kesalahan Fungsi.

Keterangan

Untuk membantu klien dalam menentukan apakah font yang disematkan sudah diinstal pada sistem, fungsi pemuatan font akan mengembalikan pesan kesalahan yang menunjukkan font dengan nama yang sama ada pada sistem (E_FONTNAMEALREADYEXISTS), dan jika font tersebut memiliki checksum yang sama dengan font yang disematkan (E_FONTALREADYEXISTS). Klien kemudian memiliki dua opsi:

  1. Asumsikan bahwa font yang diinstal benar-benar sama dengan font yang disematkan dan mencakup subset yang sama.
  2. Paksa font yang disematkan untuk diinstal dengan nama yang berbeda untuk menghindari ketidaksesamaan dengan font yang sudah ada di sistem.
Untuk mengubah nama font yang disematkan sebelum menginstal, klien harus menyediakan string nama karakter 8-bit dan karakter 16-bit sebagai parameter. Nama font akan diubah dalam tabel nama font yang baru diinstal. Nama baru hanya tersedia untuk klien dan tidak akan dijumlahkan kepada pengguna.

Untuk menggunakan nama font yang disematkan yang ada, parameter string nama perlu diatur ke NULL.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header t2embapi.h
Pustaka T2embed.lib
DLL T2embed.dll

Lihat juga

TTDeleteEmbeddedFont

TTEMBEDINFO

TTGetEmbeddingType

TTGetNewFontName

TTLOADINFO