Windows Metafile: Perbedaan antara revisi
Dibuat dengan menerjemahkan halaman "Windows Metafile" |
k fix |
||
(2 revisi perantara oleh satu pengguna lainnya tidak ditampilkan) | |||
Baris 4: | Baris 4: | ||
|- |
|- |
||
|ABORTDOC |
|ABORTDOC |
||
|Stops processing the current document. |
|Stops processing the current document.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=158–159|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
|BEGIN_PATH |
|BEGIN_PATH |
||
Baris 134: | Baris 134: | ||
'''Windows Metafile''' ( '''WMF''' ) adalah [[Format berkas gambar|format file gambar yang]] awalnya dirancang untuk [[Microsoft Windows]] pada tahun 1990-an. Format Windows Metafile asli tidak bergantung pada perangkat (meskipun bisa dibuat lebih dengan header penempatan) dan mungkin berisi [[Gambar vektor|grafik vektor]] dan komponen bitmap . Itu bertindak dengan cara yang mirip dengan file [[Scalable Vector Graphics|SVG]] . File WMF kemudian digantikan oleh '''Enhanced Metafiles''' (file EMF) yang menyediakan kemandirian perangkat. File EMF kemudian ditingkatkan sendiri melalui file '''EMF +''' . |
'''Windows Metafile''' ( '''WMF''' ) adalah [[Format berkas gambar|format file gambar yang]] awalnya dirancang untuk [[Microsoft Windows]] pada tahun 1990-an. Format Windows Metafile asli tidak bergantung pada perangkat (meskipun bisa dibuat lebih dengan header penempatan) dan mungkin berisi [[Gambar vektor|grafik vektor]] dan komponen bitmap . Itu bertindak dengan cara yang mirip dengan file [[Scalable Vector Graphics|SVG]] . File WMF kemudian digantikan oleh '''Enhanced Metafiles''' (file EMF) yang menyediakan kemandirian perangkat. File EMF kemudian ditingkatkan sendiri melalui file '''EMF +''' . |
||
Pada dasarnya, metafile menyimpan daftar record yang terdiri dari perintah gambar, definisi properti, dan objek grafik untuk menampilkan gambar di layar. |
Pada dasarnya, metafile menyimpan daftar record yang terdiri dari perintah gambar, definisi properti, dan objek grafik untuk menampilkan gambar di layar.<ref name="wmfspecdef">{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|page=16}}</ref> Perintah menggambar yang digunakan terkait erat dengan perintah [[Antarmuka pemrograman aplikasi|API]] Antarmuka Perangkat Grafik (GDI) yang digunakan untuk menggambar di Microsoft Windows. |
||
Ada tiga jenis utama metafile - WMF adalah format 16-bit yang diperkenalkan di Windows 3.0 . Ini adalah format vektor asli untuk aplikasi [[Microsoft Office]] seperti [[Microsoft Word|Word]] , [[Microsoft PowerPoint|PowerPoint]] , dan [[Microsoft Office Publisher|Publisher]] . Mulai 2017 revisi 14 dari spesifikasi Windows Metafile Format tersedia untuk dibaca online atau diunduh sebagai [[Portable Document Format|PDF]]. |
Ada tiga jenis utama metafile - WMF adalah format 16-bit yang diperkenalkan di Windows 3.0 . Ini adalah format vektor asli untuk aplikasi [[Microsoft Office]] seperti [[Microsoft Word|Word]] , [[Microsoft PowerPoint|PowerPoint]] , dan [[Microsoft Office Publisher|Publisher]] . Mulai 2017 revisi 14 dari spesifikasi Windows Metafile Format tersedia untuk dibaca online atau diunduh sebagai [[Portable Document Format|PDF]]. File EMF, yang menggantikan file WMF, bekerja dengan prinsip yang sama hanya saja itu adalah format file [[32-bit]] yang juga memungkinkan penyematan data pribadi dalam catatan "komentar". EMF + adalah ekstensi untuk file EMF dan disematkan dalam catatan [[Komentari|komentar]] ini, memungkinkan gambar dan teks menggunakan perintah, objek, dan properti yang mirip dengan [[Windows GDI +]] . |
||
== Sejarah == |
== Sejarah == |
||
Format file WMF 16 bit asli sepenuhnya ditentukan dalam volume 4 dokumentasi SDK [[Windows 3.1x|Windows 3.1]] 1992 <ref>Microsoft Windows 3.1 Programmers Reference, Volume 4 Resources, Microsoft Press 1992, {{ISBN|1-55615-494-1}}, chapter 3 pp. 21-45</ref> (setidaknya jika digabungkan dengan deskripsi fungsi dan struktur individu di volume lain), tetapi spesifikasi itu tidak jelas tentang a sedikit detail. Manual ini diterbitkan sebagai buku cetak yang tersedia di toko buku tanpa klik melalui [[EULA]] atau batasan lisensi tidak biasa lainnya (hanya peringatan umum bahwa jika dibeli sebagai bagian dari bundel perangkat lunak, perangkat lunak akan tunduk pada salah satunya). |
Format file WMF 16 bit asli sepenuhnya ditentukan dalam volume 4 dokumentasi SDK [[Windows 3.1x|Windows 3.1]] 1992 <ref>Microsoft Windows 3.1 Programmers Reference, Volume 4 Resources, Microsoft Press 1992, {{ISBN|1-55615-494-1}}, chapter 3 pp. 21-45</ref> (setidaknya jika digabungkan dengan deskripsi fungsi dan struktur individu di volume lain), tetapi spesifikasi itu tidak jelas tentang a sedikit detail. Manual ini diterbitkan sebagai buku cetak yang tersedia di toko buku tanpa klik melalui [[EULA]] atau batasan lisensi tidak biasa lainnya (hanya peringatan umum bahwa jika dibeli sebagai bagian dari bundel perangkat lunak, perangkat lunak akan tunduk pada salah satunya). |
||
Seiring waktu keberadaan spesifikasi bersejarah itu sebagian besar dilupakan dan beberapa implementasi alternatif menggunakan rekayasa terbalik untuk mengetahui format file dari file WMF yang ada, yang sulit dan rawan kesalahan. |
Seiring waktu keberadaan spesifikasi bersejarah itu sebagian besar dilupakan dan beberapa implementasi alternatif menggunakan rekayasa terbalik untuk mengetahui format file dari file WMF yang ada, yang sulit dan rawan kesalahan. Pada bulan September 2006, [[Microsoft]] kembali menerbitkan spesifikasi format file WMF dalam bentuk yang lebih lengkap dalam konteks Microsoft Open Specification Promise , berjanji untuk tidak menegaskan hak paten kepada pelaksana format file. |
||
Microsoft kemudian menghentikan file WMF dan mendukung file EMF [[32-bit]] karena file WMF memiliki masalah nyata dengan kemandirian perangkat, meskipun menggunakan header file "placeable" yang memberikan kemandirian perangkat dasar. Microsoft menemukan bahwa pengembang yang menggunakan format tersebut adalah "[embedding] aplikasi, lokasi, atau komentar skala di metafile ... Yang lain menambahkan header ke metafile yang menyediakan berbagai informasi khusus aplikasi", menyebabkan masalah kompatibilitas utama. |
Microsoft kemudian menghentikan file WMF dan mendukung file EMF [[32-bit]] karena file WMF memiliki masalah nyata dengan kemandirian perangkat, meskipun menggunakan header file "placeable" yang memberikan kemandirian perangkat dasar. Microsoft menemukan bahwa pengembang yang menggunakan format tersebut adalah "[embedding] aplikasi, lokasi, atau komentar skala di metafile ... Yang lain menambahkan header ke metafile yang menyediakan berbagai informasi khusus aplikasi", menyebabkan masalah kompatibilitas utama. Jadi, pada tahun 1992 dengan [[Windows NT 3.1]] , Microsoft memperkenalkan format [[Enhanced Metafile|Enhanced Metafile (EMF)]] - format yang didasarkan pada Win32 API dan yang mereka gunakan untuk kemandirian perangkat bawaan. - ini juga dikenal sebagai metafile NT. Dengan dirilisnya Windows XP dan GDI +, kumpulan catatan harus ditingkatkan secara signifikan sehingga Microsoft merilis EMF + sebagai perpanjangan dari format file EMF yang ada. |
||
== Struktur metafile == |
== Struktur metafile == |
||
Baris 149: | Baris 149: | ||
File WMF, EMF dan EMF + semuanya terdiri dari serangkaian rekaman yang diputar ulang untuk menghasilkan keluaran grafis. Beberapa catatan menentukan objek yang dapat menentukan objek [[Grafika|grafis]] yang digunakan untuk menentukan bagaimana grafik harus digambar (misalnya pena menentukan warna dan lebar garis). Masing-masing objek ini disimpan dalam metafile dan ditempatkan ke dalam tabel objek, yang melacak penggunaan objek grafik saat memproses metafile. Tabel objek adalah larik indeks asosiatif ke struktur objek grafis yang ditentukan dalam metafile. |
File WMF, EMF dan EMF + semuanya terdiri dari serangkaian rekaman yang diputar ulang untuk menghasilkan keluaran grafis. Beberapa catatan menentukan objek yang dapat menentukan objek [[Grafika|grafis]] yang digunakan untuk menentukan bagaimana grafik harus digambar (misalnya pena menentukan warna dan lebar garis). Masing-masing objek ini disimpan dalam metafile dan ditempatkan ke dalam tabel objek, yang melacak penggunaan objek grafik saat memproses metafile. Tabel objek adalah larik indeks asosiatif ke struktur objek grafis yang ditentukan dalam metafile. |
||
File WMF dan EMF menangani pemrosesan objek secara berbeda dengan catatan EMF + dalam file EMF. Saat file WMF dan EMF sedang diproses, catatan dibaca ke dalam tabel objek setelah objek ditentukan. Jika sebuah objek dihapus maka objek tersebut dilepaskan dari tabel dan pengenal dapat digunakan kembali. Khususnya sebuah objek tidak akan digunakan sampai secara khusus dipilih selama playback rekaman. |
File WMF dan EMF menangani pemrosesan objek secara berbeda dengan catatan EMF + dalam file EMF. Saat file WMF dan EMF sedang diproses, catatan dibaca ke dalam tabel objek setelah objek ditentukan. Jika sebuah objek dihapus maka objek tersebut dilepaskan dari tabel dan pengenal dapat digunakan kembali. Khususnya sebuah objek tidak akan digunakan sampai secara khusus dipilih selama playback rekaman. Ini berbeda untuk file EMF +, yang juga menggunakan array asosiatif melalui peta hash yang merekam objek bersama dengan pengenal objek. Namun, tidak seperti file WMF dan EMF yang dapat menghapus objek, saat objek baru dibuat yang memiliki indeks yang sama dengan objek yang sudah ada, entri dalam tabel diganti dengan objek baru. File EMF juga tidak perlu secara khusus memilih objek sebelum digunakan. |
||
=== WMF === |
=== WMF === |
||
[[Berkas:WMF-structure.svg|kiri|jmpl|Struktur metafile Windows asli dan dapat ditempatkan <ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|page=17}}</ref>]] |
[[Berkas:WMF-structure.svg|kiri|jmpl|Struktur metafile Windows asli dan dapat ditempatkan <ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=Windows Metafile Format|publisher=Microsoft|page=17}}</ref>]] |
||
File WMF awalnya tidak dirancang untuk menjadi perangkat independen, artinya Anda tidak dapat memutar file pada perangkat output yang berbeda dari perangkat asli tempat file direkam. Solusi parsial untuk masalah ini ditemukan oleh [[Aldus Corporation]] , yang menambahkan header "placeable" tambahan, yang disebut "header APM", |
File WMF awalnya tidak dirancang untuk menjadi perangkat independen, artinya Anda tidak dapat memutar file pada perangkat output yang berbeda dari perangkat asli tempat file direkam. Solusi parsial untuk masalah ini ditemukan oleh [[Aldus Corporation]] , yang menambahkan header "placeable" tambahan, yang disebut "header APM", yang menambahkan pembatas pembatas, versi metafile, ukuran metafile, jumlah objek di metafile dan ukuran rekor tunggal terbesar di metafile. Ini kemudian dimasukkan ke dalam format WMF oleh Microsoft, dimulai pada [[Windows 2000]]. |
||
File WMF disusun oleh serangkaian record, dimulai dengan sejumlah record kontrol: record header, |
File WMF disusun oleh serangkaian record, dimulai dengan sejumlah record kontrol: record header, record placeable opsional yang disebutkan sebelumnya, dan diakhiri dengan akhir record file . |
||
Dienkapsulasi oleh catatan kontrol adalah catatan yang menyusun gambar itu sendiri. Rekaman ini bekerja dalam apa yang dikenal sebagai ''konteks perangkat pemutaran'' , yang merupakan kumpulan properti dan objek yang membentuk lingkungan grafis perangkat saat metafile sedang "diputar" ke perangkat keluaran ini. |
Dienkapsulasi oleh catatan kontrol adalah catatan yang menyusun gambar itu sendiri. Rekaman ini bekerja dalam apa yang dikenal sebagai ''konteks perangkat pemutaran'' , yang merupakan kumpulan properti dan objek yang membentuk lingkungan grafis perangkat saat metafile sedang "diputar" ke perangkat keluaran ini. |
||
Baris 162: | Baris 162: | ||
==== Catatan bitmap ==== |
==== Catatan bitmap ==== |
||
Catatan <a href="./Bitmap" rel="mw:WikiLink" data-linkid="undefined" data-cx="{&quot;userAdded&quot;:true,&quot;adapted&quot;:true}">bitmap</a> mengelola dan mengeluarkan [[ |
Catatan <a href="./Bitmap" rel="mw:WikiLink" data-linkid="undefined" data-cx="{&quot;userAdded&quot;:true,&quot;adapted&quot;:true}">bitmap</a> mengelola dan mengeluarkan [[gambar bitmap]] . |
||
{| class="wikitable" |
{| class="wikitable" |
||
|'''Nama''' |
|'''Nama''' |
||
Baris 168: | Baris 168: | ||
|- |
|- |
||
| META_BITBLT |
| META_BITBLT |
||
| Menentukan bagaimana melakukan transfer blok bit . Catatan ini dapat menentukan bitmap untuk digunakan sebagai sumber, atau wilayah. |
| Menentukan bagaimana melakukan transfer blok bit . Catatan ini dapat menentukan bitmap untuk digunakan sebagai sumber, atau wilayah.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=101–103|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_DIBBITBLT |
| META_DIBBITBLT |
||
| Menentukan cara melakukan transfer blok bit dari image [[Bitmap|bitmap yang tidak tergantung perangkat]] . Catatan ini dapat menentukan bitmap untuk digunakan sebagai sumber, atau wilayah. |
| Menentukan cara melakukan transfer blok bit dari image [[Bitmap|bitmap yang tidak tergantung perangkat]] . Catatan ini dapat menentukan bitmap untuk digunakan sebagai sumber, atau wilayah.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=103-106|access-date=2020-01-24|publisher=Microsoft}}</ref> |
||
|- |
|- |
||
| META_DIBSTRETCHBITBLT |
| META_DIBSTRETCHBITBLT |
||
| Menentukan cara melakukan transfer blok bit dari gambar bitmap yang tidak tergantung perangkat, tetapi memungkinkan untuk perluasan atau penyusutan gambar. Catatan ini dapat menentukan bitmap untuk digunakan sebagai sumber, atau wilayah. |
| Menentukan cara melakukan transfer blok bit dari gambar bitmap yang tidak tergantung perangkat, tetapi memungkinkan untuk perluasan atau penyusutan gambar. Catatan ini dapat menentukan bitmap untuk digunakan sebagai sumber, atau wilayah.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=106-108|access-date=2020-01-24|publisher=Microsoft}}</ref> |
||
|- |
|- |
||
| META_SETDIBTODEV |
| META_SETDIBTODEV |
||
| Menentukan warna untuk menyetel blok piksel dalam gambar bitmap yang tidak tergantung perangkat. Catatan ini dapat menentukan bitmap untuk digunakan sebagai sumber, atau wilayah. |
| Menentukan warna untuk menyetel blok piksel dalam gambar bitmap yang tidak tergantung perangkat. Catatan ini dapat menentukan bitmap untuk digunakan sebagai sumber, atau wilayah.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=108-109|access-date=2020-01-24|publisher=Microsoft}}</ref> |
||
|- |
|- |
||
| META_STRETCHBLT |
| META_STRETCHBLT |
||
| Menentukan bagaimana melakukan transfer blok bit, tetapi memungkinkan untuk perluasan atau kontraksi gambar. |
| Menentukan bagaimana melakukan transfer blok bit, tetapi memungkinkan untuk perluasan atau kontraksi gambar.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=109-110|access-date=2020-01-24|publisher=Microsoft}}</ref> |
||
|- |
|- |
||
| META_STRETCHDIB |
| META_STRETCHDIB |
||
| Menentukan cara melakukan transfer blok bit dari gambar bitmap yang tidak tergantung perangkat, tetapi memungkinkan untuk perluasan atau penyusutan gambar. Catatan ini dapat menentukan bitmap untuk digunakan sebagai sumber, atau wilayah. |
| Menentukan cara melakukan transfer blok bit dari gambar bitmap yang tidak tergantung perangkat, tetapi memungkinkan untuk perluasan atau penyusutan gambar. Catatan ini dapat menentukan bitmap untuk digunakan sebagai sumber, atau wilayah.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=103-106|access-date=2020-01-24|publisher=Microsoft}}</ref> |
||
|} |
|} |
||
Baris 193: | Baris 193: | ||
|- |
|- |
||
| META_ARC |
| META_ARC |
||
| Menggambar busur elips. |
| Menggambar busur elips.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=101–103|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_CHORD |
| META_CHORD |
||
| Menarik akord . |
| Menarik akord .<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=117–118|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_ELLIPSE |
| META_ELLIPSE |
||
| Menggambar busur elips. |
| Menggambar busur elips.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=119|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_EXTFLOODFILL |
| META_EXTFLOODFILL |
||
| Mengisi area dengan kuas. |
| Mengisi area dengan kuas.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=119–120|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_EXTTEXTOUT |
| META_EXTTEXTOUT |
||
| Gambar teks dengan font, warna latar belakang dan warna teks dari konteks perangkat pemutaran. |
| Gambar teks dengan font, warna latar belakang dan warna teks dari konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=119–120|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_FILLREGION |
| META_FILLREGION |
||
| Mengisi wilayah dengan kuas tertentu. |
| Mengisi wilayah dengan kuas tertentu.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=121|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_FLOODFILL |
| META_FLOODFILL |
||
| Mengisi area dengan kuas. |
| Mengisi area dengan kuas.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=119–120|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_FRAMEREGION |
| META_FRAMEREGION |
||
| Menggambar batas di sekitar wilayah halaman dengan kuas. |
| Menggambar batas di sekitar wilayah halaman dengan kuas.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=122–123|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_INVERTREGION |
| META_INVERTREGION |
||
| Melukis wilayah grafik dengan warna terbalik. |
| Melukis wilayah grafik dengan warna terbalik.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=123|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_LINETO |
| META_LINETO |
||
| Menggambar [[Interval (matematika)|setengah terbuka]] [[Garis (geometri)|baris]] dari posisi gambar didefinisikan dalam konteks perangkat pemutaran ke titik tertentu. |
| Menggambar [[Interval (matematika)|setengah terbuka]] [[Garis (geometri)|baris]] dari posisi gambar didefinisikan dalam konteks perangkat pemutaran ke titik tertentu.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=123–124|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_PAINTREGION |
| META_PAINTREGION |
||
| Cat wilayah dengan kuas saat ini yang ditentukan dalam konteks perangkat pemutaran. |
| Cat wilayah dengan kuas saat ini yang ditentukan dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=124|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_PATBLT |
| META_PATBLT |
||
| Lukis suatu wilayah dengan kuas saat ini yang ditentukan dalam konteks perangkat pemutaran, lalu gabungkan warna kuas dan warna permukaan menggunakan operasi raster . |
| Lukis suatu wilayah dengan kuas saat ini yang ditentukan dalam konteks perangkat pemutaran, lalu gabungkan warna kuas dan warna permukaan menggunakan operasi raster .<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=124–125|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_PIE |
| META_PIE |
||
| Gambar baji berbentuk pai yang dibatasi oleh perpotongan elips dan dua radial |
| Gambar baji berbentuk pai yang dibatasi oleh perpotongan elips dan dua radial — garis ditetapkan melalui set pena melalui konteks perangkat pemutaran, dan area yang dibatasi oleh bentuk pai diisi oleh sikat perangkat pemutaran saat ini konteks.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=125–126|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_POLYLINE |
| META_POLYLINE |
||
| Menggambar serangkaian segmen garis dengan menghubungkan titik-titik dalam larik yang ditentukan. |
| Menggambar serangkaian segmen garis dengan menghubungkan titik-titik dalam larik yang ditentukan.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=126|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_POLYGON |
| META_POLYGON |
||
| Melukis [[Poligon|poligon yang]] terdiri dari dua atau lebih [[Sudut (bangunan)|simpul yang]] dihubungkan dengan garis lurus. Poligon diberi garis batas menggunakan pena dan diisi dengan menggunakan mode isian kuas dan poligon yang ditentukan dalam konteks perangkat pemutaran. |
| Melukis [[Poligon|poligon yang]] terdiri dari dua atau lebih [[Sudut (bangunan)|simpul yang]] dihubungkan dengan garis lurus. Poligon diberi garis batas menggunakan pena dan diisi dengan menggunakan mode isian kuas dan poligon yang ditentukan dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=127|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_POLYPOLYGON |
| META_POLYPOLYGON |
||
| Melukis serangkaian poligon tertutup, yang mungkin tumpang tindih. Setiap poligon digarisbawahi dengan menggunakan pena dan diisi dengan menggunakan mode isian kuas dan poligon yang ditentukan dalam konteks perangkat pemutaran. |
| Melukis serangkaian poligon tertutup, yang mungkin tumpang tindih. Setiap poligon digarisbawahi dengan menggunakan pena dan diisi dengan menggunakan mode isian kuas dan poligon yang ditentukan dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=127–128|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_RECTANGLE |
| META_RECTANGLE |
||
| Melukis sebuah persegi panjang, yang digarisbawahi dengan menggunakan pena dan diisi dengan menggunakan kuas dan diisi dengan menggunakan kuas yang ditentukan dalam konteks perangkat pemutaran. |
| Melukis sebuah persegi panjang, yang digarisbawahi dengan menggunakan pena dan diisi dengan menggunakan kuas dan diisi dengan menggunakan kuas yang ditentukan dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=127–128|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_ROUNDRECT |
| META_ROUNDRECT |
||
| Melukis persegi panjang dengan sudut membulat. Persegi panjang diberi garis menggunakan pena dan diisi dengan menggunakan kuas dan diisi dengan menggunakan kuas yang ditentukan dalam konteks perangkat pemutaran. |
| Melukis persegi panjang dengan sudut membulat. Persegi panjang diberi garis menggunakan pena dan diisi dengan menggunakan kuas dan diisi dengan menggunakan kuas yang ditentukan dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=128–129|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_SETPIXEL |
| META_SETPIXEL |
||
| Mengatur piksel pada koordinat yang ditentukan ke warna yang ditentukan. |
| Mengatur piksel pada koordinat yang ditentukan ke warna yang ditentukan.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=129–130|access-date=2020-01-24}}</ref> |
||
|- |
|- |
||
| META_TEXTOUT |
| META_TEXTOUT |
||
| Mengeluarkan [[String|string karakter]] di lokasi yang ditentukan dengan menggunakan font, warna latar belakang, dan warna teks yang ditentukan dalam konteks perangkat pemutaran. |
| Mengeluarkan [[String|string karakter]] di lokasi yang ditentukan dengan menggunakan font, warna latar belakang, dan warna teks yang ditentukan dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=130|access-date=2020-01-24}}</ref> |
||
|} |
|} |
||
==== Catatan objek ==== |
==== Catatan objek ==== |
||
Rekaman objek membuat dan mengelola objek grafik. Dalam file WMF ada dua kategori objek - objek grafik dan objek struktur. Objek struktur tidak dibuat atau dihapus secara eksplisit dalam WMF, melainkan struktur yang kompleks. Misalnya, BitmapCoreHeader berisi informasi tentang dimensi dan format warna dari bitmap yang tidak bergantung perangkat, |
Rekaman objek membuat dan mengelola objek grafik. Dalam file WMF ada dua kategori objek - objek grafik dan objek struktur. Objek struktur tidak dibuat atau dihapus secara eksplisit dalam WMF, melainkan struktur yang kompleks. Misalnya, BitmapCoreHeader berisi informasi tentang dimensi dan format warna dari bitmap yang tidak bergantung perangkat, yang merupakan bagian dari objek DeviceIndependentBitmap. Sebuah objek grafis, bagaimanapun, menentukan parameter untuk output grafis dan selama pemutaran dari WMF itu mengatur konteks perangkat pemutaran. |
||
Objek grafik dapat berupa ''kuas'' (menentukan gaya, warna, dan pola kuas yang menentukan cara melukis area grafik), ''font'' (menentukan properti yang memengaruhi cara teks ditampilkan), ''palet'' (menentukan warna sebagai nilai yang tidak bergantung perangkat, ditentukan oleh aplikasi), ''pena'' (menentukan atribut grafis dari sebuah garis), dan ''daerah'' (yang menentukan segmen garis dan kurva yang menentukan bentuk). |
Objek grafik dapat berupa ''kuas'' (menentukan gaya, warna, dan pola kuas yang menentukan cara melukis area grafik), ''font'' (menentukan properti yang memengaruhi cara teks ditampilkan), ''palet'' (menentukan warna sebagai nilai yang tidak bergantung perangkat, ditentukan oleh aplikasi), ''pena'' (menentukan atribut grafis dari sebuah garis), dan ''daerah'' (yang menentukan segmen garis dan kurva yang menentukan bentuk).<ref name="graphicsobjects">{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=79|access-date=2020-01-25}}</ref> |
||
{| class="wikitable" |
{| class="wikitable" |
||
|'''Nama''' |
|'''Nama''' |
||
Baris 262: | Baris 262: | ||
|- |
|- |
||
| META_CREATEBRUSHINDIRECT |
| META_CREATEBRUSHINDIRECT |
||
| Membuat objek kuas dari objek LogBrush (kuas logis). |
| Membuat objek kuas dari objek LogBrush (kuas logis).<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=131–132|access-date=2020-01-25}}</ref> |
||
|- |
|- |
||
| META_CREATEFONTINDIRECT |
| META_CREATEFONTINDIRECT |
||
| Membuat objek kuas dari objek font. |
| Membuat objek kuas dari objek font.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=132|access-date=2020-01-25}}</ref> |
||
|- |
|- |
||
| META_CREATEPALETTE |
| META_CREATEPALETTE |
||
Baris 271: | Baris 271: | ||
|- |
|- |
||
| META_CREATEPATTERNBRUSH <ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=133–135|access-date=2020-01-25}}</ref> |
| META_CREATEPATTERNBRUSH <ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=133–135|access-date=2020-01-25}}</ref> |
||
| Membuat objek kuas dari objek LogBrush (kuas logis). |
| Membuat objek kuas dari objek LogBrush (kuas logis).<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=132–133|access-date=2020-01-25}}</ref> |
||
|- |
|- |
||
| META_CREATEPENINDIRECT |
| META_CREATEPENINDIRECT |
||
| Membuat objek pena. |
| Membuat objek pena.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=134–135|access-date=2020-01-25}}</ref> |
||
|- |
|- |
||
| META_CREATEREGION |
| META_CREATEREGION |
||
| Membuat objek wilayah. |
| Membuat objek wilayah.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=135|access-date=2020-01-25}}</ref> |
||
|- |
|- |
||
| META_DELETEOBJECT |
| META_DELETEOBJECT |
||
| Hapus sebuah objek. |
| Hapus sebuah objek.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=135|access-date=2020-01-25}}</ref> |
||
|- |
|- |
||
| META_CREATEBRUSHINDIRECT |
| META_CREATEBRUSHINDIRECT |
||
| Membuat objek kuas dari objek LogBrush (kuas logis). |
| Membuat objek kuas dari objek LogBrush (kuas logis).<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=135–136|access-date=2020-01-25}}</ref> |
||
|- |
|- |
||
| META_DIBCREATEPATTERNBRUSH |
| META_DIBCREATEPATTERNBRUSH |
||
| Membuat objek kuas dari bitmap yang tidak bergantung perangkat. |
| Membuat objek kuas dari bitmap yang tidak bergantung perangkat.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=136–137|access-date=2020-01-25}}</ref> |
||
|- |
|- |
||
| META_SELECTCLIPREGION |
| META_SELECTCLIPREGION |
||
| Menentukan objek wilayah yang akan menjadi wilayah kliping saat ini . |
| Menentukan objek wilayah yang akan menjadi wilayah kliping saat ini .<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=137|access-date=2020-01-25}}</ref> |
||
|- |
|- |
||
| META_SELECTOBJECT |
| META_SELECTOBJECT |
||
| Memilih objek yang akan menjadi objek saat ini untuk konteks perangkat pemutaran, yang bekerja pada semua objek grafis kecuali objek palet, yang harus disetel dengan META_SELECTPALETTE. |
| Memilih objek yang akan menjadi objek saat ini untuk konteks perangkat pemutaran, yang bekerja pada semua objek grafis kecuali objek palet, yang harus disetel dengan META_SELECTPALETTE.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=137–138|access-date=2020-01-25}}</ref> |
||
|- |
|- |
||
| META_SELECTPLAETTE |
| META_SELECTPLAETTE |
||
| Memilih palet logis untuk konteks perangkat pemutaran. |
| Memilih palet logis untuk konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=139|access-date=2020-01-25}}</ref> |
||
|} |
|} |
||
==== Catatan negara ==== |
==== Catatan negara ==== |
||
Catatan negara mengelola properti grafis dari konteks perangkat pemutaran. |
Catatan negara mengelola properti grafis dari konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=138|access-date=2020-01-28}}</ref> |
||
{| class="wikitable" |
{| class="wikitable" |
||
|'''Nama''' |
|'''Nama''' |
||
Baris 305: | Baris 305: | ||
|- |
|- |
||
| META_ANIMATEPALETTE |
| META_ANIMATEPALETTE |
||
| Mendefinisikan ulang entri dalam palet logika yang ditentukan dalam konteks perangkat pemutaran dengan Objek Palet yang ditentukan. |
| Mendefinisikan ulang entri dalam palet logika yang ditentukan dalam konteks perangkat pemutaran dengan Objek Palet yang ditentukan.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=140|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_EXCLUDECLIPRECT |
| META_EXCLUDECLIPRECT |
||
| Setel wilayah kliping yang ditentukan dalam konteks perangkat pemutaran ke wilayah kliping yang sudah ada dikurangi persegi panjang yang ditentukan. |
| Setel wilayah kliping yang ditentukan dalam konteks perangkat pemutaran ke wilayah kliping yang sudah ada dikurangi persegi panjang yang ditentukan.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=140–141|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_INTERSECTCLIPRECT |
| META_INTERSECTCLIPRECT |
||
| Menyetel wilayah kliping yang ditentukan dalam konteks perangkat pemutaran ke persimpangan wilayah kliping yang ada dan persegi panjang yang ditentukan. |
| Menyetel wilayah kliping yang ditentukan dalam konteks perangkat pemutaran ke persimpangan wilayah kliping yang ada dan persegi panjang yang ditentukan.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=141–142|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_MOVETO |
| META_MOVETO |
||
| Setel posisi keluaran dalam konteks perangkat pemutaran ke titik yang ditentukan. |
| Setel posisi keluaran dalam konteks perangkat pemutaran ke titik yang ditentukan.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=142|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_OFFSETCLIPRGN |
| META_OFFSETCLIPRGN |
||
| Memindahkan daerah kliping yang ditentukan dalam konteks perangkat pemutaran dengan offset tertentu. |
| Memindahkan daerah kliping yang ditentukan dalam konteks perangkat pemutaran dengan offset tertentu.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=142–143|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_OFFSETVIEWPORTORG |
| META_OFFSETVIEWPORTORG |
||
| Memindahkan asal viewport dalam konteks perangkat pemutaran dengan offset horizontal dan vertikal yang ditentukan. |
| Memindahkan asal viewport dalam konteks perangkat pemutaran dengan offset horizontal dan vertikal yang ditentukan.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=143|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_OFFSETWINDOWORG |
| META_OFFSETWINDOWORG |
||
| Memindahkan asal jendela keluaran dalam konteks perangkat pemutaran dengan offset horizontal dan vertikal yang ditentukan. |
| Memindahkan asal jendela keluaran dalam konteks perangkat pemutaran dengan offset horizontal dan vertikal yang ditentukan.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=131–132|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_REALIZEPALETTE |
| META_REALIZEPALETTE |
||
| Memetakan entri dari palet logis yang ditentukan dalam konteks perangkat pemutaran ke palet sistem. |
| Memetakan entri dari palet logis yang ditentukan dalam konteks perangkat pemutaran ke palet sistem.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=143–144|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_RESIZEPALETTE |
| META_RESIZEPALETTE |
||
| Mendefinisikan ulang ukuran palet logis yang ditentukan dalam konteks perangkat pemutaran. |
| Mendefinisikan ulang ukuran palet logis yang ditentukan dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=144|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_RESTOREDC |
| META_RESTOREDC |
||
| Mengembalikan konteks perangkat pemutaran dari konteks perangkat yang disimpan sebelumnya. |
| Mengembalikan konteks perangkat pemutaran dari konteks perangkat yang disimpan sebelumnya.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=145|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SAVEDC |
| META_SAVEDC |
||
| Menyimpan konteks perangkat pemutaran untuk pengambilan nanti. |
| Menyimpan konteks perangkat pemutaran untuk pengambilan nanti.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=145|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SCALEVIEWPORTEXT |
| META_SCALEVIEWPORTEXT |
||
| Menskalakan luasan horizontal dan vertikal viewport yang ditentukan dalam konteks perangkat pemutaran menggunakan rasio yang dibentuk oleh perkalian dan pembagi yang ditentukan. |
| Menskalakan luasan horizontal dan vertikal viewport yang ditentukan dalam konteks perangkat pemutaran menggunakan rasio yang dibentuk oleh perkalian dan pembagi yang ditentukan.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=145–146|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SCALEWINDOWEXT |
| META_SCALEWINDOWEXT |
||
| Menskalakan luasan horizontal dan vertikal dari jendela keluaran yang ditentukan dalam konteks perangkat pemutaran menggunakan rasio yang dibentuk oleh perkalian dan pembagi yang ditentukan. |
| Menskalakan luasan horizontal dan vertikal dari jendela keluaran yang ditentukan dalam konteks perangkat pemutaran menggunakan rasio yang dibentuk oleh perkalian dan pembagi yang ditentukan.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=146–147|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SETBKCOLOR |
| META_SETBKCOLOR |
||
| Menyetel warna latar belakang dalam konteks perangkat pemutaran ke warna yang ditentukan. |
| Menyetel warna latar belakang dalam konteks perangkat pemutaran ke warna yang ditentukan.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=147|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SETBKMODE |
| META_SETBKMODE |
||
| Setel mode campuran latar belakang dalam konteks perangkat pemutaran. |
| Setel mode campuran latar belakang dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=147–148|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SETLAYOUT |
| META_SETLAYOUT |
||
| Mendefinisikan orientasi tata letak dalam konteks perangkat pemutaran. |
| Mendefinisikan orientasi tata letak dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=148|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SETMAPMODE |
| META_SETMAPMODE |
||
| Mendefinisikan mode pemetaan dalam konteks perangkat pemutaran. |
| Mendefinisikan mode pemetaan dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=148–149|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SETMAPPERFLAGS |
| META_SETMAPPERFLAGS |
||
| Mendefinisikan algoritma yang digunakan pemeta font saat memetakan font logis ke font fisik. |
| Mendefinisikan algoritma yang digunakan pemeta font saat memetakan font logis ke font fisik.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=131–132|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SETPALENTRIES |
| META_SETPALENTRIES |
||
| Mendefinisikan nilai warna RGB dalam rentang entri dalam palet logis yang ditentukan dalam konteks perangkat pemutaran. |
| Mendefinisikan nilai warna RGB dalam rentang entri dalam palet logis yang ditentukan dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=149|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SETPOLYFILLMODE |
| META_SETPOLYFILLMODE |
||
| Mendefinisikan mode isian poligon dalam konteks perangkat pemutaran untuk operasi grafis yang mengisi poligon. |
| Mendefinisikan mode isian poligon dalam konteks perangkat pemutaran untuk operasi grafis yang mengisi poligon.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=149–150|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SETRELABS |
| META_SETRELABS |
||
| Rekor yang tidak digunakan. |
| Rekor yang tidak digunakan.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=150|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SETROP2 |
| META_SETROP2 |
||
| Mendefinisikan mode pencampuran operasi raster latar depan dalam konteks perangkat pemutaran. |
| Mendefinisikan mode pencampuran operasi raster latar depan dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=151|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SETSTRETCHBLTMODE |
| META_SETSTRETCHBLTMODE |
||
| Mendefinisikan mode peregangan bitmap dalam konteks perangkat pemutaran. |
| Mendefinisikan mode peregangan bitmap dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=151–152|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SETTEXTALIGN |
| META_SETTEXTALIGN |
||
| Mendefinisikan nilai perataan teks dalam konteks perangkat pemutaran. |
| Mendefinisikan nilai perataan teks dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=152|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SETTEXTCHAREXTRA |
| META_SETTEXTCHAREXTRA |
||
| Mendefinisikan spasi antar karakter untuk pembenaran teks dalam konteks perangkat pemutaran. |
| Mendefinisikan spasi antar karakter untuk pembenaran teks dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=152–153|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SETTEXTCOLOR |
| META_SETTEXTCOLOR |
||
| Mendefinisikan warna latar depan teks dalam konteks perangkat pemutaran. |
| Mendefinisikan warna latar depan teks dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=153|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SETTEXTJUSTIFICATION |
| META_SETTEXTJUSTIFICATION |
||
| Mendefinisikan jumlah spasi yang akan ditambahkan untuk memecah karakter dalam string teks yang dibenarkan. |
| Mendefinisikan jumlah spasi yang akan ditambahkan untuk memecah karakter dalam string teks yang dibenarkan.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=153–154|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SETVIEWPORTEXT |
| META_SETVIEWPORTEXT |
||
| Mendefinisikan luasan horizontal dan vertikal viewport dalam konteks perangkat pemutaran. |
| Mendefinisikan luasan horizontal dan vertikal viewport dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=154|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SETVIEWPORTORG |
| META_SETVIEWPORTORG |
||
| Mendefinisikan asal viewport dalam konteks perangkat pemutaran. |
| Mendefinisikan asal viewport dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=154–155|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SETWINDOWEXT |
| META_SETWINDOWEXT |
||
| Mendefinisikan luasan horizontal dan vertikal dari jendela keluaran dalam konteks perangkat pemutaran. |
| Mendefinisikan luasan horizontal dan vertikal dari jendela keluaran dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=155|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
| META_SETWINDOWORG |
| META_SETWINDOWORG |
||
| Mendefinisikan asal jendela keluaran dalam konteks perangkat pemutaran. |
| Mendefinisikan asal jendela keluaran dalam konteks perangkat pemutaran.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=155|access-date=2020-01-28}}</ref> |
||
|} |
|} |
||
Baris 408: | Baris 408: | ||
|- |
|- |
||
|ABORTDOC |
|ABORTDOC |
||
|Stops processing the current document. |
|Stops processing the current document.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|pages=158–159|access-date=2020-01-28}}</ref> |
||
|- |
|- |
||
|BEGIN_PATH |
|BEGIN_PATH |
||
Baris 536: | Baris 536: | ||
|Notifies the printer driver that a new print job is starting.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=184|access-date=2020-01-28}}</ref> |
|Notifies the printer driver that a new print job is starting.<ref>{{Citation|url=https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/%5bMS-WMF%5d.pdf|title=<nowiki>[MS-WMF]:</nowiki> Windows Metafile Format Specification|page=184|access-date=2020-01-28}}</ref> |
||
|} |
|} |
||
Ada kerentanan utama yang ditemukan dalam catatan pelarian di sekitar catatan pelarian Abort, yang menyimpan kode prosedur pembatalan di dalam catatan itu sendiri. Sistem Windows yang terpengaruh ini (lihat CVE - 2005-4560 ) dan proyek Wine (lihat CVE - 2006-0106 ). Menurut Secunia , "Kerentanan ini disebabkan karena kesalahan dalam penanganan file Windows Metafile ('.wmf') yang berisi catatan 'Escape' SETABORTPROC yang dibuat secara khusus. Catatan semacam itu memungkinkan fungsi yang ditentukan pengguna sewenang-wenang dijalankan saat rendering file WMF gagal. " |
Ada kerentanan utama yang ditemukan dalam catatan pelarian di sekitar catatan pelarian Abort, yang menyimpan kode prosedur pembatalan di dalam catatan itu sendiri. Sistem Windows yang terpengaruh ini (lihat CVE - 2005-4560 ) dan proyek Wine (lihat CVE - 2006-0106 ). Menurut Secunia , "Kerentanan ini disebabkan karena kesalahan dalam penanganan file Windows Metafile ('.wmf') yang berisi catatan 'Escape' SETABORTPROC yang dibuat secara khusus. Catatan semacam itu memungkinkan fungsi yang ditentukan pengguna sewenang-wenang dijalankan saat rendering file WMF gagal. " Menurut dokumentasi SDK Windows 3.1, pelarian SETABORTPROC sudah usang dan digantikan oleh fungsi dengan nama yang sama di Windows 3.1, jauh sebelum kerentanan WMF ditemukan. Namun kode melarikan diri usang dipertahankan untuk kompatibilitas dengan program 16 bit yang ditulis untuk (atau setidaknya kompatibel dengan) Windows 3.0. Perubahan ini terjadi kira-kira pada waktu yang sama ketika Microsoft membuat implementasi ulang GDI [[32-bit|32 bit]] untuk [[Windows NT]], dan kemungkinan kerentanan terjadi selama upaya ini. |
||
Setelah [[Steve Gibson]] dari [[Gibson Research Corporation]] menuduh Microsoft sengaja menerapkan pintu belakang ke dalam kode mereka, |
Setelah [[Steve Gibson]] dari [[Gibson Research Corporation]] menuduh Microsoft sengaja menerapkan pintu belakang ke dalam kode mereka, Mark Russinovich memberikan bantahan, dan menyatakan bahwa:{{Reflist|30em}} |
||
== Pranala luar == |
== Pranala luar == |
||
Baris 546: | Baris 546: | ||
* [https://www.fileformat.info/format/wmf/ Ringkasan Format File di fileformat.info] |
* [https://www.fileformat.info/format/wmf/ Ringkasan Format File di fileformat.info] |
||
* [https://www.companionsoftware.com/support/windows-metafile-faq/ FAQ Windows Metafile] |
* [https://www.companionsoftware.com/support/windows-metafile-faq/ FAQ Windows Metafile] |
||
[[Kategori:Multimedia di Windows]] |
[[Kategori:Multimedia di Windows]] |
||
[[Kategori:Format gambar]] |
[[Kategori:Format gambar]] |
Revisi terkini sejak 12 Juni 2023 07.04
Name | Description |
ABORTDOC | Stops processing the current document.[1] |
BEGIN_PATH | Opens a path.[2] |
CHECK_JPEGFORMAT | Determines whether it can handle the given JPEG image.[3] |
CHECK_PNGFORMAT | Determines whether it can handle the given PNG image.[4] |
CLIP_TO_PATH | Applies a function to the current PostScript clipping path.[5] |
CLOSE_CHANNEL | Same as ENDDOC.[6] |
DOWNLOAD_FACE | Sets the font face name on the output device.[7] |
DOWNLOAD_HEADER | Downloads sets of PostScript procedures.[8] |
DRAW_PATTERNRECT | Draws a rectangle with a defined pattern.[9] |
ENCAPSULATED_POSTSCRIPT | Sends arbitrary encapsulated PostScript (EPS) data directly to the printer driver.[10] |
END_PATH | Ends a path.[11] |
ENDDOC | Notifies the printer driver that a new print job is ending.[12] |
EPS_PRINTING | Indicates the start and end of EPS printing.[13] |
EXTTEXTOUT | Draws text using the currently selected font, background color, and text color.[14] |
GET_COLORTABLE | Gets color table values from the printer driver.[15] |
GET_DEVICEUNITS | Gets the device units currently configured on the output device.[16] |
GET_EXTENDED_TEXTMETRICS | Gets the extended text metrics that are currently configured on the printer driver.[17] |
GET_FACENAME | Gets the font face name currently configured on the output device.[18] |
GET_PAIRKERNTABLE | Gets the font kern table currently defined on the output device.[19] |
GET_PHYSPAGESIZE | Retrieves the physical page size currently selected on the output device.[20] |
GET_PRINTINGOFFSET | Retrieves the offset from the upper-left corner of the physical page where the actual printing or drawing begins.[21] |
GET_PS_FEATURESETTING | Queries the printer driver for information about PostScript features supported on the output device.[22] |
GET_SCALINGFACTOR | Retrieves the scaling factors for the x-axis and the y-axis of a printer.[23] |
META_ESCAPE_ENHANCED_METAFILE | Used to embed an EMF metafile within a WMF metafile.[24] |
METAFILE_DRIVER | Queries the printer driver about its support for metafiles on the output device.[25] |
NEWFRAME | Notifies the printer driver that the application has finished writing to a page.[26] |
NEXTBAND | Notifies the printer driver that the application has finished writing to a band.[27] |
PASSTHROUGH | Passes through arbitrary data to the printer driver.[28] |
POSTSCRIPT_DATA | Sends arbitrary PostScript data to the output device.[29] |
POSTSCRIPT_IDENTIFY | Sets the printer driver to either PostScript-centric or GDI-centric mode.[30] |
POSTSCRIPT_IGNORE | Notifies the output device to ignore PostScript data.[31] |
POSTSCRIPT_INJECTION | Inserts a block of raw data into a PostScript stream.[32] |
POSTSCRIPT_PASSTHROUGH | Sends arbitrary data directly to a printer driver, which is expected to process this data only when in PostScript mode.[33] |
OPEN_CHANNEL | Acts the same as STARTDOC, with a NULL document and output filename, and data in raw mode.[34] |
QUERY_DIBSUPPORT | Queries the printer driver about its support for DIBs on the output device.[35] |
QUERY_ESCSUPPORT | Queries the printer driver to determine whether a specific WMF escape function is supported on the output device.[36] |
SET_COLORTABLE | Sets color table values.[37] |
SET_COPYCOUNT | Sets the number of copies.[38] |
SET_LINECAP | Specifies the line-ending mode to use in drawing to the output device.[39] |
SET_LINEJOIN | Specifies the line-joining mode to use in drawing to the output device.[40] |
SET_MITERLIMIT | Sets the limit for the length of miter joins to use in drawing to the output device.[41] |
SPCLPASSTHROUGH2 | Enables documents to include private procedures and other arbitrary data in documents.[42] |
STARTDOC | Notifies the printer driver that a new print job is starting.[43] |
Windows Metafile ( WMF ) adalah format file gambar yang awalnya dirancang untuk Microsoft Windows pada tahun 1990-an. Format Windows Metafile asli tidak bergantung pada perangkat (meskipun bisa dibuat lebih dengan header penempatan) dan mungkin berisi grafik vektor dan komponen bitmap . Itu bertindak dengan cara yang mirip dengan file SVG . File WMF kemudian digantikan oleh Enhanced Metafiles (file EMF) yang menyediakan kemandirian perangkat. File EMF kemudian ditingkatkan sendiri melalui file EMF + .
Pada dasarnya, metafile menyimpan daftar record yang terdiri dari perintah gambar, definisi properti, dan objek grafik untuk menampilkan gambar di layar.[44] Perintah menggambar yang digunakan terkait erat dengan perintah API Antarmuka Perangkat Grafik (GDI) yang digunakan untuk menggambar di Microsoft Windows.
Ada tiga jenis utama metafile - WMF adalah format 16-bit yang diperkenalkan di Windows 3.0 . Ini adalah format vektor asli untuk aplikasi Microsoft Office seperti Word , PowerPoint , dan Publisher . Mulai 2017 revisi 14 dari spesifikasi Windows Metafile Format tersedia untuk dibaca online atau diunduh sebagai PDF. File EMF, yang menggantikan file WMF, bekerja dengan prinsip yang sama hanya saja itu adalah format file 32-bit yang juga memungkinkan penyematan data pribadi dalam catatan "komentar". EMF + adalah ekstensi untuk file EMF dan disematkan dalam catatan komentar ini, memungkinkan gambar dan teks menggunakan perintah, objek, dan properti yang mirip dengan Windows GDI + .
Sejarah
[sunting | sunting sumber]Format file WMF 16 bit asli sepenuhnya ditentukan dalam volume 4 dokumentasi SDK Windows 3.1 1992 [45] (setidaknya jika digabungkan dengan deskripsi fungsi dan struktur individu di volume lain), tetapi spesifikasi itu tidak jelas tentang a sedikit detail. Manual ini diterbitkan sebagai buku cetak yang tersedia di toko buku tanpa klik melalui EULA atau batasan lisensi tidak biasa lainnya (hanya peringatan umum bahwa jika dibeli sebagai bagian dari bundel perangkat lunak, perangkat lunak akan tunduk pada salah satunya).
Seiring waktu keberadaan spesifikasi bersejarah itu sebagian besar dilupakan dan beberapa implementasi alternatif menggunakan rekayasa terbalik untuk mengetahui format file dari file WMF yang ada, yang sulit dan rawan kesalahan. Pada bulan September 2006, Microsoft kembali menerbitkan spesifikasi format file WMF dalam bentuk yang lebih lengkap dalam konteks Microsoft Open Specification Promise , berjanji untuk tidak menegaskan hak paten kepada pelaksana format file.
Microsoft kemudian menghentikan file WMF dan mendukung file EMF 32-bit karena file WMF memiliki masalah nyata dengan kemandirian perangkat, meskipun menggunakan header file "placeable" yang memberikan kemandirian perangkat dasar. Microsoft menemukan bahwa pengembang yang menggunakan format tersebut adalah "[embedding] aplikasi, lokasi, atau komentar skala di metafile ... Yang lain menambahkan header ke metafile yang menyediakan berbagai informasi khusus aplikasi", menyebabkan masalah kompatibilitas utama. Jadi, pada tahun 1992 dengan Windows NT 3.1 , Microsoft memperkenalkan format Enhanced Metafile (EMF) - format yang didasarkan pada Win32 API dan yang mereka gunakan untuk kemandirian perangkat bawaan. - ini juga dikenal sebagai metafile NT. Dengan dirilisnya Windows XP dan GDI +, kumpulan catatan harus ditingkatkan secara signifikan sehingga Microsoft merilis EMF + sebagai perpanjangan dari format file EMF yang ada.
Struktur metafile
[sunting | sunting sumber]File WMF, EMF dan EMF + semuanya terdiri dari serangkaian rekaman yang diputar ulang untuk menghasilkan keluaran grafis. Beberapa catatan menentukan objek yang dapat menentukan objek grafis yang digunakan untuk menentukan bagaimana grafik harus digambar (misalnya pena menentukan warna dan lebar garis). Masing-masing objek ini disimpan dalam metafile dan ditempatkan ke dalam tabel objek, yang melacak penggunaan objek grafik saat memproses metafile. Tabel objek adalah larik indeks asosiatif ke struktur objek grafis yang ditentukan dalam metafile.
File WMF dan EMF menangani pemrosesan objek secara berbeda dengan catatan EMF + dalam file EMF. Saat file WMF dan EMF sedang diproses, catatan dibaca ke dalam tabel objek setelah objek ditentukan. Jika sebuah objek dihapus maka objek tersebut dilepaskan dari tabel dan pengenal dapat digunakan kembali. Khususnya sebuah objek tidak akan digunakan sampai secara khusus dipilih selama playback rekaman. Ini berbeda untuk file EMF +, yang juga menggunakan array asosiatif melalui peta hash yang merekam objek bersama dengan pengenal objek. Namun, tidak seperti file WMF dan EMF yang dapat menghapus objek, saat objek baru dibuat yang memiliki indeks yang sama dengan objek yang sudah ada, entri dalam tabel diganti dengan objek baru. File EMF juga tidak perlu secara khusus memilih objek sebelum digunakan.
WMF
[sunting | sunting sumber]File WMF awalnya tidak dirancang untuk menjadi perangkat independen, artinya Anda tidak dapat memutar file pada perangkat output yang berbeda dari perangkat asli tempat file direkam. Solusi parsial untuk masalah ini ditemukan oleh Aldus Corporation , yang menambahkan header "placeable" tambahan, yang disebut "header APM", yang menambahkan pembatas pembatas, versi metafile, ukuran metafile, jumlah objek di metafile dan ukuran rekor tunggal terbesar di metafile. Ini kemudian dimasukkan ke dalam format WMF oleh Microsoft, dimulai pada Windows 2000.
File WMF disusun oleh serangkaian record, dimulai dengan sejumlah record kontrol: record header, record placeable opsional yang disebutkan sebelumnya, dan diakhiri dengan akhir record file .
Dienkapsulasi oleh catatan kontrol adalah catatan yang menyusun gambar itu sendiri. Rekaman ini bekerja dalam apa yang dikenal sebagai konteks perangkat pemutaran , yang merupakan kumpulan properti dan objek yang membentuk lingkungan grafis perangkat saat metafile sedang "diputar" ke perangkat keluaran ini.
Rekaman selain catatan kontrol dapat dikelompokkan ke dalam catatan bitmap, catatan gambar, catatan objek, catatan status dan catatan escape.
Catatan bitmap
[sunting | sunting sumber]Catatan <a href="./Bitmap" rel="mw:WikiLink" data-linkid="undefined" data-cx="{"userAdded":true,"adapted":true}">bitmap</a> mengelola dan mengeluarkan gambar bitmap .
Nama | Deskripsi |
META_BITBLT | Menentukan bagaimana melakukan transfer blok bit . Catatan ini dapat menentukan bitmap untuk digunakan sebagai sumber, atau wilayah.[47] |
META_DIBBITBLT | Menentukan cara melakukan transfer blok bit dari image bitmap yang tidak tergantung perangkat . Catatan ini dapat menentukan bitmap untuk digunakan sebagai sumber, atau wilayah.[48] |
META_DIBSTRETCHBITBLT | Menentukan cara melakukan transfer blok bit dari gambar bitmap yang tidak tergantung perangkat, tetapi memungkinkan untuk perluasan atau penyusutan gambar. Catatan ini dapat menentukan bitmap untuk digunakan sebagai sumber, atau wilayah.[49] |
META_SETDIBTODEV | Menentukan warna untuk menyetel blok piksel dalam gambar bitmap yang tidak tergantung perangkat. Catatan ini dapat menentukan bitmap untuk digunakan sebagai sumber, atau wilayah.[50] |
META_STRETCHBLT | Menentukan bagaimana melakukan transfer blok bit, tetapi memungkinkan untuk perluasan atau kontraksi gambar.[51] |
META_STRETCHDIB | Menentukan cara melakukan transfer blok bit dari gambar bitmap yang tidak tergantung perangkat, tetapi memungkinkan untuk perluasan atau penyusutan gambar. Catatan ini dapat menentukan bitmap untuk digunakan sebagai sumber, atau wilayah.[52] |
Catatan gambar
[sunting | sunting sumber]Catatan gambar menghasilkan keluaran grafik.
Nama | Deskripsi |
META_ARC | Menggambar busur elips.[53] |
META_CHORD | Menarik akord .[54] |
META_ELLIPSE | Menggambar busur elips.[55] |
META_EXTFLOODFILL | Mengisi area dengan kuas.[56] |
META_EXTTEXTOUT | Gambar teks dengan font, warna latar belakang dan warna teks dari konteks perangkat pemutaran.[57] |
META_FILLREGION | Mengisi wilayah dengan kuas tertentu.[58] |
META_FLOODFILL | Mengisi area dengan kuas.[59] |
META_FRAMEREGION | Menggambar batas di sekitar wilayah halaman dengan kuas.[60] |
META_INVERTREGION | Melukis wilayah grafik dengan warna terbalik.[61] |
META_LINETO | Menggambar setengah terbuka baris dari posisi gambar didefinisikan dalam konteks perangkat pemutaran ke titik tertentu.[62] |
META_PAINTREGION | Cat wilayah dengan kuas saat ini yang ditentukan dalam konteks perangkat pemutaran.[63] |
META_PATBLT | Lukis suatu wilayah dengan kuas saat ini yang ditentukan dalam konteks perangkat pemutaran, lalu gabungkan warna kuas dan warna permukaan menggunakan operasi raster .[64] |
META_PIE | Gambar baji berbentuk pai yang dibatasi oleh perpotongan elips dan dua radial — garis ditetapkan melalui set pena melalui konteks perangkat pemutaran, dan area yang dibatasi oleh bentuk pai diisi oleh sikat perangkat pemutaran saat ini konteks.[65] |
META_POLYLINE | Menggambar serangkaian segmen garis dengan menghubungkan titik-titik dalam larik yang ditentukan.[66] |
META_POLYGON | Melukis poligon yang terdiri dari dua atau lebih simpul yang dihubungkan dengan garis lurus. Poligon diberi garis batas menggunakan pena dan diisi dengan menggunakan mode isian kuas dan poligon yang ditentukan dalam konteks perangkat pemutaran.[67] |
META_POLYPOLYGON | Melukis serangkaian poligon tertutup, yang mungkin tumpang tindih. Setiap poligon digarisbawahi dengan menggunakan pena dan diisi dengan menggunakan mode isian kuas dan poligon yang ditentukan dalam konteks perangkat pemutaran.[68] |
META_RECTANGLE | Melukis sebuah persegi panjang, yang digarisbawahi dengan menggunakan pena dan diisi dengan menggunakan kuas dan diisi dengan menggunakan kuas yang ditentukan dalam konteks perangkat pemutaran.[69] |
META_ROUNDRECT | Melukis persegi panjang dengan sudut membulat. Persegi panjang diberi garis menggunakan pena dan diisi dengan menggunakan kuas dan diisi dengan menggunakan kuas yang ditentukan dalam konteks perangkat pemutaran.[70] |
META_SETPIXEL | Mengatur piksel pada koordinat yang ditentukan ke warna yang ditentukan.[71] |
META_TEXTOUT | Mengeluarkan string karakter di lokasi yang ditentukan dengan menggunakan font, warna latar belakang, dan warna teks yang ditentukan dalam konteks perangkat pemutaran.[72] |
Catatan objek
[sunting | sunting sumber]Rekaman objek membuat dan mengelola objek grafik. Dalam file WMF ada dua kategori objek - objek grafik dan objek struktur. Objek struktur tidak dibuat atau dihapus secara eksplisit dalam WMF, melainkan struktur yang kompleks. Misalnya, BitmapCoreHeader berisi informasi tentang dimensi dan format warna dari bitmap yang tidak bergantung perangkat, yang merupakan bagian dari objek DeviceIndependentBitmap. Sebuah objek grafis, bagaimanapun, menentukan parameter untuk output grafis dan selama pemutaran dari WMF itu mengatur konteks perangkat pemutaran.
Objek grafik dapat berupa kuas (menentukan gaya, warna, dan pola kuas yang menentukan cara melukis area grafik), font (menentukan properti yang memengaruhi cara teks ditampilkan), palet (menentukan warna sebagai nilai yang tidak bergantung perangkat, ditentukan oleh aplikasi), pena (menentukan atribut grafis dari sebuah garis), dan daerah (yang menentukan segmen garis dan kurva yang menentukan bentuk).[73]
Nama | Deskripsi |
META_CREATEBRUSHINDIRECT | Membuat objek kuas dari objek LogBrush (kuas logis).[74] |
META_CREATEFONTINDIRECT | Membuat objek kuas dari objek font.[75] |
META_CREATEPALETTE | Membuat objek palet. |
META_CREATEPATTERNBRUSH [76] | Membuat objek kuas dari objek LogBrush (kuas logis).[77] |
META_CREATEPENINDIRECT | Membuat objek pena.[78] |
META_CREATEREGION | Membuat objek wilayah.[79] |
META_DELETEOBJECT | Hapus sebuah objek.[80] |
META_CREATEBRUSHINDIRECT | Membuat objek kuas dari objek LogBrush (kuas logis).[81] |
META_DIBCREATEPATTERNBRUSH | Membuat objek kuas dari bitmap yang tidak bergantung perangkat.[82] |
META_SELECTCLIPREGION | Menentukan objek wilayah yang akan menjadi wilayah kliping saat ini .[83] |
META_SELECTOBJECT | Memilih objek yang akan menjadi objek saat ini untuk konteks perangkat pemutaran, yang bekerja pada semua objek grafis kecuali objek palet, yang harus disetel dengan META_SELECTPALETTE.[84] |
META_SELECTPLAETTE | Memilih palet logis untuk konteks perangkat pemutaran.[85] |
Catatan negara
[sunting | sunting sumber]Catatan negara mengelola properti grafis dari konteks perangkat pemutaran.[86]
Nama | Deskripsi |
META_ANIMATEPALETTE | Mendefinisikan ulang entri dalam palet logika yang ditentukan dalam konteks perangkat pemutaran dengan Objek Palet yang ditentukan.[87] |
META_EXCLUDECLIPRECT | Setel wilayah kliping yang ditentukan dalam konteks perangkat pemutaran ke wilayah kliping yang sudah ada dikurangi persegi panjang yang ditentukan.[88] |
META_INTERSECTCLIPRECT | Menyetel wilayah kliping yang ditentukan dalam konteks perangkat pemutaran ke persimpangan wilayah kliping yang ada dan persegi panjang yang ditentukan.[89] |
META_MOVETO | Setel posisi keluaran dalam konteks perangkat pemutaran ke titik yang ditentukan.[90] |
META_OFFSETCLIPRGN | Memindahkan daerah kliping yang ditentukan dalam konteks perangkat pemutaran dengan offset tertentu.[91] |
META_OFFSETVIEWPORTORG | Memindahkan asal viewport dalam konteks perangkat pemutaran dengan offset horizontal dan vertikal yang ditentukan.[92] |
META_OFFSETWINDOWORG | Memindahkan asal jendela keluaran dalam konteks perangkat pemutaran dengan offset horizontal dan vertikal yang ditentukan.[93] |
META_REALIZEPALETTE | Memetakan entri dari palet logis yang ditentukan dalam konteks perangkat pemutaran ke palet sistem.[94] |
META_RESIZEPALETTE | Mendefinisikan ulang ukuran palet logis yang ditentukan dalam konteks perangkat pemutaran.[95] |
META_RESTOREDC | Mengembalikan konteks perangkat pemutaran dari konteks perangkat yang disimpan sebelumnya.[96] |
META_SAVEDC | Menyimpan konteks perangkat pemutaran untuk pengambilan nanti.[97] |
META_SCALEVIEWPORTEXT | Menskalakan luasan horizontal dan vertikal viewport yang ditentukan dalam konteks perangkat pemutaran menggunakan rasio yang dibentuk oleh perkalian dan pembagi yang ditentukan.[98] |
META_SCALEWINDOWEXT | Menskalakan luasan horizontal dan vertikal dari jendela keluaran yang ditentukan dalam konteks perangkat pemutaran menggunakan rasio yang dibentuk oleh perkalian dan pembagi yang ditentukan.[99] |
META_SETBKCOLOR | Menyetel warna latar belakang dalam konteks perangkat pemutaran ke warna yang ditentukan.[100] |
META_SETBKMODE | Setel mode campuran latar belakang dalam konteks perangkat pemutaran.[101] |
META_SETLAYOUT | Mendefinisikan orientasi tata letak dalam konteks perangkat pemutaran.[102] |
META_SETMAPMODE | Mendefinisikan mode pemetaan dalam konteks perangkat pemutaran.[103] |
META_SETMAPPERFLAGS | Mendefinisikan algoritma yang digunakan pemeta font saat memetakan font logis ke font fisik.[104] |
META_SETPALENTRIES | Mendefinisikan nilai warna RGB dalam rentang entri dalam palet logis yang ditentukan dalam konteks perangkat pemutaran.[105] |
META_SETPOLYFILLMODE | Mendefinisikan mode isian poligon dalam konteks perangkat pemutaran untuk operasi grafis yang mengisi poligon.[106] |
META_SETRELABS | Rekor yang tidak digunakan.[107] |
META_SETROP2 | Mendefinisikan mode pencampuran operasi raster latar depan dalam konteks perangkat pemutaran.[108] |
META_SETSTRETCHBLTMODE | Mendefinisikan mode peregangan bitmap dalam konteks perangkat pemutaran.[109] |
META_SETTEXTALIGN | Mendefinisikan nilai perataan teks dalam konteks perangkat pemutaran.[110] |
META_SETTEXTCHAREXTRA | Mendefinisikan spasi antar karakter untuk pembenaran teks dalam konteks perangkat pemutaran.[111] |
META_SETTEXTCOLOR | Mendefinisikan warna latar depan teks dalam konteks perangkat pemutaran.[112] |
META_SETTEXTJUSTIFICATION | Mendefinisikan jumlah spasi yang akan ditambahkan untuk memecah karakter dalam string teks yang dibenarkan.[113] |
META_SETVIEWPORTEXT | Mendefinisikan luasan horizontal dan vertikal viewport dalam konteks perangkat pemutaran.[114] |
META_SETVIEWPORTORG | Mendefinisikan asal viewport dalam konteks perangkat pemutaran.[115] |
META_SETWINDOWEXT | Mendefinisikan luasan horizontal dan vertikal dari jendela keluaran dalam konteks perangkat pemutaran.[116] |
META_SETWINDOWORG | Mendefinisikan asal jendela keluaran dalam konteks perangkat pemutaran.[117] |
Catatan melarikan diri
[sunting | sunting sumber]Rekaman melarikan diri adalah cara untuk memperluas fungsionalitas metafile melalui catatan yang tidak didefinisikan sebagai tipe catatan WMF. Setiap rekaman pelolosan berisi fungsi rekam, fungsi pelolosan, dan kemungkinan data pelolosan.
Rekaman pelolosan berikut membuat file WMF
Name | Description |
ABORTDOC | Stops processing the current document.[118] |
BEGIN_PATH | Opens a path.[119] |
CHECK_JPEGFORMAT | Determines whether it can handle the given JPEG image.[120] |
CHECK_PNGFORMAT | Determines whether it can handle the given PNG image.[121] |
CLIP_TO_PATH | Applies a function to the current PostScript clipping path.[122] |
CLOSE_CHANNEL | Same as ENDDOC.[123] |
DOWNLOAD_FACE | Sets the font face name on the output device.[124] |
DOWNLOAD_HEADER | Downloads sets of PostScript procedures.[125] |
DRAW_PATTERNRECT | Draws a rectangle with a defined pattern.[126] |
ENCAPSULATED_POSTSCRIPT | Sends arbitrary encapsulated PostScript (EPS) data directly to the printer driver.[127] |
END_PATH | Ends a path.[128] |
ENDDOC | Notifies the printer driver that a new print job is ending.[129] |
EPS_PRINTING | Indicates the start and end of EPS printing.[130] |
EXTTEXTOUT | Draws text using the currently selected font, background color, and text color.[131] |
GET_COLORTABLE | Gets color table values from the printer driver.[132] |
GET_DEVICEUNITS | Gets the device units currently configured on the output device.[133] |
GET_EXTENDED_TEXTMETRICS | Gets the extended text metrics that are currently configured on the printer driver.[134] |
GET_FACENAME | Gets the font face name currently configured on the output device.[135] |
GET_PAIRKERNTABLE | Gets the font kern table currently defined on the output device.[136] |
GET_PHYSPAGESIZE | Retrieves the physical page size currently selected on the output device.[137] |
GET_PRINTINGOFFSET | Retrieves the offset from the upper-left corner of the physical page where the actual printing or drawing begins.[138] |
GET_PS_FEATURESETTING | Queries the printer driver for information about PostScript features supported on the output device.[139] |
GET_SCALINGFACTOR | Retrieves the scaling factors for the x-axis and the y-axis of a printer.[140] |
META_ESCAPE_ENHANCED_METAFILE | Used to embed an EMF metafile within a WMF metafile.[141] |
METAFILE_DRIVER | Queries the printer driver about its support for metafiles on the output device.[142] |
NEWFRAME | Notifies the printer driver that the application has finished writing to a page.[143] |
NEXTBAND | Notifies the printer driver that the application has finished writing to a band.[144] |
PASSTHROUGH | Passes through arbitrary data to the printer driver.[145] |
POSTSCRIPT_DATA | Sends arbitrary PostScript data to the output device.[146] |
POSTSCRIPT_IDENTIFY | Sets the printer driver to either PostScript-centric or GDI-centric mode.[147] |
POSTSCRIPT_IGNORE | Notifies the output device to ignore PostScript data.[148] |
POSTSCRIPT_INJECTION | Inserts a block of raw data into a PostScript stream.[149] |
POSTSCRIPT_PASSTHROUGH | Sends arbitrary data directly to a printer driver, which is expected to process this data only when in PostScript mode.[150] |
OPEN_CHANNEL | Acts the same as STARTDOC, with a NULL document and output filename, and data in raw mode.[151] |
QUERY_DIBSUPPORT | Queries the printer driver about its support for DIBs on the output device.[152] |
QUERY_ESCSUPPORT | Queries the printer driver to determine whether a specific WMF escape function is supported on the output device.[153] |
SET_COLORTABLE | Sets color table values.[154] |
SET_COPYCOUNT | Sets the number of copies.[155] |
SET_LINECAP | Specifies the line-ending mode to use in drawing to the output device.[156] |
SET_LINEJOIN | Specifies the line-joining mode to use in drawing to the output device.[157] |
SET_MITERLIMIT | Sets the limit for the length of miter joins to use in drawing to the output device.[158] |
SPCLPASSTHROUGH2 | Enables documents to include private procedures and other arbitrary data in documents.[159] |
STARTDOC | Notifies the printer driver that a new print job is starting.[160] |
Ada kerentanan utama yang ditemukan dalam catatan pelarian di sekitar catatan pelarian Abort, yang menyimpan kode prosedur pembatalan di dalam catatan itu sendiri. Sistem Windows yang terpengaruh ini (lihat CVE - 2005-4560 ) dan proyek Wine (lihat CVE - 2006-0106 ). Menurut Secunia , "Kerentanan ini disebabkan karena kesalahan dalam penanganan file Windows Metafile ('.wmf') yang berisi catatan 'Escape' SETABORTPROC yang dibuat secara khusus. Catatan semacam itu memungkinkan fungsi yang ditentukan pengguna sewenang-wenang dijalankan saat rendering file WMF gagal. " Menurut dokumentasi SDK Windows 3.1, pelarian SETABORTPROC sudah usang dan digantikan oleh fungsi dengan nama yang sama di Windows 3.1, jauh sebelum kerentanan WMF ditemukan. Namun kode melarikan diri usang dipertahankan untuk kompatibilitas dengan program 16 bit yang ditulis untuk (atau setidaknya kompatibel dengan) Windows 3.0. Perubahan ini terjadi kira-kira pada waktu yang sama ketika Microsoft membuat implementasi ulang GDI 32 bit untuk Windows NT, dan kemungkinan kerentanan terjadi selama upaya ini.
Setelah Steve Gibson dari Gibson Research Corporation menuduh Microsoft sengaja menerapkan pintu belakang ke dalam kode mereka, Mark Russinovich memberikan bantahan, dan menyatakan bahwa:
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 158–159, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 159, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 159–160, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 160, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 160, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 162, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 162–163, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 158–159, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 163–164, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 164, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 164–165, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 165, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 165–166, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 166–167, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 167–168, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 168, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 168–169, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 169, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 169–170, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 170, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 170–171, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 171, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 171–172, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 172–173, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 173–174, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 174–175, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 174–175, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 175, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 176, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 176–177, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 177, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 177–178, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 178, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 179, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 179–180, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 180, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 180–181, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 181, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 181–182, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 182–183, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 183, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 183–184, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 184, diakses tanggal 2020-01-28
- ^ Windows Metafile Format (PDF), Microsoft, hlm. 16
- ^ Microsoft Windows 3.1 Programmers Reference, Volume 4 Resources, Microsoft Press 1992, ISBN 1-55615-494-1, chapter 3 pp. 21-45
- ^ Windows Metafile Format (PDF), Microsoft, hlm. 17
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 101–103, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), Microsoft, hlm. 103-106, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), Microsoft, hlm. 106-108, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), Microsoft, hlm. 108-109, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), Microsoft, hlm. 109-110, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), Microsoft, hlm. 103-106, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 101–103, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 117–118, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 119, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 119–120, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 119–120, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 121, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 119–120, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 122–123, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 123, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 123–124, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 124, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 124–125, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 125–126, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 126, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 127, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 127–128, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 127–128, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 128–129, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 129–130, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 130, diakses tanggal 2020-01-24
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 79, diakses tanggal 2020-01-25
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 131–132, diakses tanggal 2020-01-25
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 132, diakses tanggal 2020-01-25
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 133–135, diakses tanggal 2020-01-25
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 132–133, diakses tanggal 2020-01-25
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 134–135, diakses tanggal 2020-01-25
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 135, diakses tanggal 2020-01-25
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 135, diakses tanggal 2020-01-25
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 135–136, diakses tanggal 2020-01-25
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 136–137, diakses tanggal 2020-01-25
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 137, diakses tanggal 2020-01-25
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 137–138, diakses tanggal 2020-01-25
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 139, diakses tanggal 2020-01-25
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 138, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 140, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 140–141, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 141–142, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 142, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 142–143, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 143, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 131–132, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 143–144, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 144, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 145, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 145, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 145–146, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 146–147, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 147, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 147–148, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 148, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 148–149, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 131–132, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 149, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 149–150, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 150, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 151, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 151–152, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 152, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 152–153, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 153, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 153–154, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 154, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 154–155, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 155, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 155, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 158–159, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 159, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 159–160, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 160, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 160, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 162, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 162–163, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 158–159, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 163–164, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 164, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 164–165, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 165, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 165–166, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 166–167, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 167–168, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 168, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 168–169, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 169, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 169–170, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 170, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 170–171, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 171, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 171–172, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 172–173, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 173–174, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 174–175, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 174–175, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 175, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 176, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 176–177, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 177, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 177–178, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 178, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 179, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 179–180, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 180, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 180–181, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 181, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 181–182, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 182–183, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 183, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 183–184, diakses tanggal 2020-01-28
- ^ [MS-WMF]: Windows Metafile Format Specification (PDF), hlm. 184, diakses tanggal 2020-01-28