סמן Windows (.cur)
מפרט תקןתבנית משאב סמן של Windows (CUR) היא תבנית מצביע העכבר המקורית של Microsoft Windows, אשר זהה בארכיטקטורת הקונטיינר שלה ל-ICO אך מגדירה היסט מדויק של קואורדינטות מוקד (hotspot).
בדיקה ומטא-נתונים
מערכות הפעלה ומנתחי קבצים מזהים קבצי CUR על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת כותרת ברמת הבייט (Magic Bytes)
מערכות הפעלה ומנתחי קבצים מזהים קבצי CUR על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת HEX (היסט 0):
00 00 02 00ייצוג ASCII: ....
תקינה: מפרט המשאבים של Microsoft Windows
מפרט טכני
| מבנה המכולה | כותרת ICONDIR עם סוג משאב 2 (סמן), ואחריה מערך ICONDIRENTRY ונתוני DIB |
| דחיסה | DIB לא דחוס או זרמים בדחיסת PNG (Windows Vista ומעלה) |
| סדר בתים (Endianness) | סדר בתים Little-Endian (Intel x86) |
| מרחבי צבע | RGB התלוי בהתקן |
| ערוצים ומבנה | מסכת מונוכרום של 1 סיבית, או BGRA של 4, 8 או 32 סיביות עם אלפא |
| ממדים מרביים | בדרך כלל 32 x 32, 48 x 48 או 64 x 64 (תמיכה עד 256 x 256 ב-Windows מודרני) |
| שקיפות | מסכה בינארית XOR/AND או ערוץ אלפא חלק של 8 סיביות |
| הזרמה ופרוגרסיביות | ספריית סמלים/סמנים לשולחן העבודה שאינה ניתנת להזרמה |
מטריצת השוואה טכנית: CUR מול מתחרים
| תכונה טכנית | CUR (נוכחי) | ICO | PNG | SVG |
|---|---|---|---|---|
| הגדרת נקודת הפעולה (hotspot) | קואורדינטות פיקסל X/Y מוטמעות | ללא (ברירת מחדל למרכז/שמאל-עליון) | מוגדר ב-CSS | מוגדר ב-viewbox של SVG |
| מזהה סוג המשאב | 0x0002 (סמן) | 0x0001 (סמל) | תמונה סטנדרטית | XML וקטורי |
| מערכת הפעלה | תת-מערכת עכבר מקורית של Windows | מעטפת Windows / אייקון מועדפים בדפדפן | נתמך בדפדפנים וביישומים רבים | נתמך בדפדפנים וביישומים רבים |
| יכולת שינוי קנה מידה | מפה מרובת-רזולוציות מקובעת (mipmaps) | מפה מרובת-רזולוציות מקובעת (mipmaps) | רסטר בגודל קבוע | סקיילביליות וקטורית אינסופית |
מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)
לחיצת העכבר נרשמת במרחק של מספר פיקסלים מחוד חץ העכבר.
גורם שורש: קואורדינטות Hotspot X/Y פגומות או חסרות בטבלת ICONDIRENTRY.
שחזור: יצירה מחדש של הסמן בממיר הסמנים של File2File.app כדי לכייל מחדש את קואורדינטת המוקד באופן ויזואלי.
ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)
באגים בניתוח קובצי CUR בממשק התקני הגרפיקה של Windows (GDI) אפשרו בעבר ביצוע קוד שרירותי באמצעות ממדי כותרת שנוצרו בזדון.
ווקטורי תקיפה ידועים
- גלישת מספר שלם (Integer overflow) במהלך הקצאת מסכות צבע DIB במפענחי סמנים ישנים.
- היסט מוקד פגום הגורם לקריאות מצביע מחוץ לגבולות (out-of-bounds) בעת העתקת בלוקים (blitting) של סמנים.
- שחיתות זיכרון ערימה (Heap corruption) בעת ניתוח זרמי PNG מוטמעים בתוך קובצי CUR מודרניים.
שיטות מומלצות להגנה: ודא שקואורדינטות המוקד נמצאות אך ורק בתוך ממדי המסגרת (0 <= X < Width, 0 <= Y < Height).
היסטוריה ואבני דרך
יתרונות מרכזיים
- מגדירה קואורדינטות מדויקות של מוקד פיקסל (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 סטנדרטיים לקובצי סמן של Windows מסוג .CUR עם מיקום מוקד מותאם אישית.
כיצד אוכל להשתמש בקובץ .cur באתר האינטרנט שלי?
באפשרותך להחיל סמנים מותאמים אישית ב-CSS באמצעות הפקודה: cursor: url('my-cursor.cur'), auto;