סמן Windows (.cur)
Microsoft תקןתבנית משאב סמן של Windows (CUR) היא תבנית מצביע העכבר המקורית של Microsoft Windows, אשר זהה בארכיטקטורת הקונเทינר שלה ל-ICO אך מגדירה היסט מדויק של קואורדינטות מוקד (hotspot).
בדיקה ומטא-דאטה
מערכות הפעלה ומנתחי קבצים מזהים קבצי CUR על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת כותרת ברמת הבייט (Magic Bytes)
מערכות הפעלה ומנתחי קבצים מזהים קבצי CUR על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת HEX (היסט 0):
00 00 02 00ייצוג ASCII: ....
תקינה: Microsoft Windows Resource Specification
מפרט טכני
| ארכיטקטורת מעטפת | ICONDIR header with resource type 2 (Cursor) followed by ICONDIRENTRY array and DIB data |
| דחיסה | Uncompressed DIB or PNG compressed streams (Windows Vista+) |
| סדר בתים (Endianness) | Little-Endian (Intel x86) |
| מרחבי צבע | Device RGB |
| ערוצים ומבנה | 1-bit monochrome mask, 4-bit, 8-bit, or 32-bit BGRA with alpha |
| ממדים מרביים | Typically 32 x 32, 48 x 48, or 64 x 64 (supports up to 256 x 256 in modern Windows) |
| שקיפות | XOR/AND binary mask or 8-bit smooth alpha channel |
| הזרמה ופרוגרסיביות | Non-streamable desktop icon/cursor directory |
מטריצת השוואה טכנית: CUR מול מתחרים
| תכונה טכנית | CUR (נוכחי) | ICO | PNG | SVG |
|---|---|---|---|---|
| הגדרת מוקד (Hotspot) | קואורדינטות פיקסל X/Y מוטמעות | ללא (ברירת מחדל למרכז/שמאל-עליון) | מוגדר ב-CSS | מוגדר ב-viewbox של SVG |
| מזהה סוג מששאב | 0x0002 (סמן) | 0x0001 (סמל) | תמונה סטנדרטית | XML וקטורי |
| מערכת הפעלה | תת-מערכת עכבר מקורית של Windows | מעטפת Windows / אייקון מועדפים בדפדפן | רשת ואפליקציות אוניברסלי | וקטור אוניברסלי |
| יכולת 확장 (סקיילביליות) | מפה מרובת-רזולוציות מקובעת (mipmaps) | מפה מרובת-רזולוציות מקובעת (mipmaps) | רסטר בגודל קבוע | סקיילביליות וקטורית אינסופית |
מצבי שיחשות נפוצים ומדריך שחזור הקסדצימלי (Hex)
לחיצת העכבר נרשמת במרחק של מספר פיקסלים מחוד חץ העכבר.
גורם שורש: קואורדינטות Hotspot X/Y פגומות או חסרות בטבלת ICONDIRENTRY.
התאוששות: יצירה מחדש של הסמן בממיר הסמנים של File2File כדי לכייל מחדש את קואורדינטת המוקד באופן ויזואלי.
ניתוח אבטחה ווקטורי התקפה על מנתחים (Parsers)
באגים בניתוח קובצי CUR בממשק התקני הגרפיקה של Windows (GDI) איפשרו היסטורית ביצוע קוד שרירותי באמצעות מימדי כותרת מעוצבים.
ווקטורי תקיפה ידועים
- גלישת מספר שלם (Integer overflow) במהלך הקצאת מסכות צבע DIB במפענחי סמנים ישנים.
- היסט מוקד פגום הגורם לקריאות מצביע מחוץ לגבולות (out-of-bounds) בעת העתקת בלוקים (blitting) של סמנים.
- שחיתות זיכרון ערימה (Heap corruption) בעת ניתוח זורמות PNG מוטמעות בתוך קובצי CUR מודרניים.
השיטות המומלצות להגנה:
היסטוריה ואבני דרך
יתרונות מרכזיים
- מגדירה קואורדינטות מדויקות של מוקד פיקסל (X, Y) שבהן לחיצות עכבר נרשמות פיזית על המסך.
- מאפשרת הגדרות סמן ברזולוציות מרובות לתצוגה חדה בצגים סטנדרטיים ובצגי 4K בעלי צפיפות פיקסלים גבוהה (High-DPI).
- תמיכה ישירה ומקורית של מערכת ההפעלה ב-Windows ללא צורך במנהלי התקנים חיצוניים למצביע.
מגבלות טכניות וחסרונות
- תבנית הממוקדת ב-Windows עם תמיכת תצוגה מקומית לקויה במכשירים ניידים ובדפדפנים שאינם של Windows.
- מצביע סטטי בלבד; סמנים מונפשים דורשים את קונטיינר ה-.ANI מרוב הפריימים.
- מסכות XOR ישנות של 1-ביט מייצרות ארטיפקטים קשים של היפוך צבעים בממשקי צבע מודרניים.
עובדות טכניות מעניינות
- ההבדל המבני היחיד בין קובץ ICO לקובץ CUR הוא הבייט ה-3 בכותרת: 1 עבור סמל (Icon), ו-2 עבור סמן (Cursor).
- בקבצי ICO, בייטים 4 ו-6 של כל רשומה מייצגים מישורי צבע וסיביות לפיקסל; בקובצי CUR, בייטים מדויקים אלו מייצגים את קואורדינטות המוקד Hotspot X ו-Y.
- CSS תומכת בסמני רשת מותאמים אישית באופן ישיר באמצעות כתובות URL המצביעות על קובצי .cur.
שאלות טכניות נפוצות
מהי נקודת חם (hotspot) של סמן העכבר?
נקודת החם היא קואורדינטת הפיקסל המדויקת בתוך תמונת הסמן (כגון הקצה החד של החץ או המרכז של צלב מטרה) שבה מתרחשים אירועי הלחיצה.
האם אני יכול להמיר תמונה (PNG/JPG) לקובץ CUR?
כן. File2File.app מאפשר לך להמיר קובצי PNG או JPG סטנדרטיים לקובצי סמן של ווינדוס מסוג .CUR עם מיקום נקודת חם מותאם אישית.
כיצד אוכל להשתמש בקובץ .cur באתר האינטרנט שלי?
באפשרותך להחיל סמנים מותאמים אישית ב-CSS באמצעות הפקודה: cursor: url('my-cursor.cur'), auto;