--- name: hebrew-rtl-documents description: הנחיות ליצירת מסמכי Word, PowerPoint, PDF, Excel ו-HTML בעברית שנראים נכון - כיוון מימין לשמאל, יישור לימין, גופנים עם תמיכה בעברית, מספרים ואנגלית בתוך טקסט עברי, טבלאות ורשימות, והגדרות bidi ו-themeFontLang שנדרשות כדי ש-Microsoft Word יציג את המסמך נכון. להפעיל בכל פעם שיוצרים או עורכים קובץ docx, pptx, pdf, xlsx או html שיש בו עברית, או כשמסמך עברי נפתח מיושר לשמאל או עם סדר מילים הפוך. Guidelines for generating Hebrew right-to-left documents (Word, PowerPoint, PDF, Excel, HTML) that render correctly - RTL direction, alignment, Hebrew-capable fonts, mixed Hebrew/English/numbers, tables, lists and the bidi settings Word needs. Use whenever creating or fixing a Hebrew document file. license: MIT --- # מסמכים בעברית שנראים נכון (RTL) הסקיל הזה הוא רשימת הנחיות לעבודה, לא ספרייה ולא סקריפט. הוא משלים כל כלי שבו אתה יוצר מסמכים, ומוודא שמסמך בעברית ייפתח מיושר לימין, עם כיוון נכון, גופן תקין וסדר מילים נכון. ## הבעיה בקצרה קובצי Word שנוצרים עם ספריות קוד נראים לעיתים תקינים ב-LibreOffice ובתצוגת PDF, אבל נפתחים ב-Microsoft Word מיושרים לשמאל, עם טבלאות הפוכות ועם גופן שגוי. הסיבה: Word מסתמך על כמה הגדרות כיווניות שספריות רבות לא כותבות כברירת מחדל. הסקיל מפרט אותן. יש להבדיל בין שתי בעיות: 1. **בעיה בקובץ:** המסמך עצמו חסר הגדרות. את זה הסקיל פותר. 2. **בעיה בממשק:** חלון הצ'אט של כלי ה-AI מציג עברית מעורבת באנגלית בסדר שגוי. זו מגבלה של הממשק, לא של הקובץ. אם המשתמש מתלונן על תצוגה בצ'אט, הסבר את ההבדל. ## עקרונות לכל סוגי המסמכים 1. **כיוון בכל הרמות:** מסמך, מקטע, פסקה, טבלה וקטע טקסט. הגדרה ברמה אחת לא מספיקה. 2. **שפה:** סמן את הטקסט העברי כעברית (he-IL). זה משפיע על גופן, בדיקת איות ומספור. 3. **גופן עם גליפים עבריים**, שמוגדר גם לתווים "מורכבים" (complex script), לא רק לתווים לטיניים. 4. **יישור לוגי:** "התחלה" ו"סוף" במקום "שמאל" ו"ימין" כשהפורמט מאפשר. בפסקה מימין לשמאל, ברירת המחדל היא יישור לימין, ולכן לרוב עדיף לא להגדיר יישור בכלל. 5. **סדר לוגי:** כתוב את הטקסט בסדר שבו קוראים אותו. **לעולם אל תהפוך מחרוזות** (אותיות או מילים) כדי "לתקן" תצוגה. זה שובר חיפוש, העתקה ונגישות. 6. **בדיקה בסוף:** אם יש לך אפשרות לרנדר את המסמך לתמונה או לחלץ ממנו טקסט, עשה זאת ובדוק. אם לא, אמור למשתמש לפתוח את הקובץ ב-Word עצמו ולבדוק את נקודות הבדיקה בסוף הסקיל. ## Word (docx) ### שש ההגדרות ש-Word צריך | # | איפה | מה | למה | |---|---|---|---| | 1 | `word/settings.xml` | `` | ההגדרה העיקרית. בלעדיה Word לא בוחר גופן ושפה עבריים לתווים מורכבים | | 2 | `w:sectPr` של כל מקטע | `` | כיוון העמוד: מספור עמודים, עמודות ושוליים מימין | | 3 | `w:pPr` של כל פסקה | `` | כיוון הפסקה: יישור לימין, סימני רשימה מימין | | 4 | `w:rPr` של קטעי טקסט בעברית | `` | כיוון קטע הטקסט | | 5 | `w:tblPr` של כל טבלה | `` | העמודה הראשונה מוצגת מימין | | 6 | יישור | `start`/`end` במקום `left`/`right`, או בלי `w:jc` | יישור שעובד גם ב-Word ל-Mac | ### דוגמאות XML (להנחיה בלבד) הגדרות המסמך, בתוך `w:settings`, בדרך כלל לפני `w:clrSchemeMapping`: ```xml ``` ברירות מחדל ב-`word/styles.xml`, כדי שכל פסקה חדשה תירש כיוון, גופן ושפה: ```xml ``` פסקה עם טקסט עברי: ```xml הצעת מחיר ``` מקטע (בסוף `w:body`): ```xml ``` טבלה: ```xml ``` ### סדר האלמנטים חשוב Word מקפיד על סדר האלמנטים לפי הסכמה. אלמנט במקום הלא נכון עלול לגרום להודעת "תוכן לא קריא" או להתעלמות מההגדרה: - ב-`w:pPr`: `w:bidi` בא אחרי `w:pStyle` ו-`w:numPr`, ולפני `w:spacing`, `w:ind` ו-`w:jc`. - ב-`w:rPr`: `w:rFonts` ראשון (אחרי `w:rStyle`), אחר כך `w:b` ו-`w:bCs`, בהמשך `w:sz` ו-`w:szCs`, אחר כך `w:rtl`, ו-`w:lang` בסוף. - ב-`w:tblPr`: `w:bidiVisual` מוקדם, אחרי `w:tblStyle` ולפני `w:tblW`. - ב-`w:sectPr`: `w:bidi` לקראת הסוף, לפני `w:rtlGutter` ו-`w:docGrid`. ### מלכודות נפוצות ב-Word - **הדגשה והטיה בעברית:** `w:b` מדגיש רק תווים לטיניים. לעברית צריך גם `w:bCs`. אותו דבר ל-`w:i`/`w:iCs` ול-`w:sz`/`w:szCs`. גודל גופן שמוגדר רק ב-`w:sz` לא ישפיע על העברית. - **גופן:** הגופן העברי נקבע ב-`w:cs` של `w:rFonts`, לא ב-`w:ascii`. - **רשימות ממוספרות:** גם ב-`word/numbering.xml` הפסקאות של כל רמה צריכות ``, אחרת המספרים יופיעו משמאל. - **כותרת עליונה ותחתונה:** הן קבצים נפרדים (`header1.xml`, `footer1.xml`). הוסף גם בהן `w:bidi` ו-`w:rtl`. - **טבלאות:** כתוב את התאים בסדר לוגי: התא הראשון בשורה הוא הימני. עם `w:bidiVisual` Word יציג אותו מימין. אל תהפוך את סדר העמודות בנתונים. - **כיווץ ושוליים:** בפסקה מימין לשמאל, `w:ind w:start` הוא הצד הימני. העדף `start`/`end` על `left`/`right`. ### אם אתה עובד עם ספריית קוד - ספריות רבות (למשל python-docx או ספריית docx ל-JavaScript) לא כותבות את כל ההגדרות האלה. חלקן מציעות אפשרויות כמו פסקה דו-כיוונית, קטע טקסט מימין לשמאל או טבלה בכיוון חזותי מימין לשמאל. השתמש בהן כשהן קיימות. - מה שהספרייה לא תומכת בו, הוסף ישירות ל-XML: דרך אובייקט ה-XML של הפסקה, או בעריכה של הקבצים בתוך ה-docx אחרי השמירה (docx הוא קובץ ZIP). - `themeFontLang` כמעט אף פעם לא נכתב על ידי ספריות. הוסף אותו בעצמך ל-`settings.xml`. - השתמש רק בכלים שכבר זמינים בסביבה. אל תתקין חבילות חדשות בלי אישור המשתמש. ## PowerPoint (pptx) - **כיוון פסקה:** `` בכל פסקה עברית. בלי `rtl="1"` סימני התבליט יופיעו משמאל. - **שפה וגופן:** בכל `a:rPr` עברי, `lang="he-IL"` וגופן ל-complex script: ```xml ``` - **הגופן של ה-complex script (`a:cs`) הוא הקריטי.** בלעדיו PowerPoint עלול להחליף את הגופן העברי בגופן אחר. - **טבלאות:** ``. - **פריסה:** בשקף בעברית הכותרת מיושרת לימין, והקריאה מתחילה מימין למעלה. תמונה ראשית משמאל וטקסט מימין היא פריסה טבעית. - **תבניות:** אם בתבנית (master/layout) מוגדר `algn="l"`, תקן גם שם, אחרת כל שקף חדש יירש יישור לשמאל. - **דרך עוקפת:** אם הכלי שלך מתקשה עם עברית ב-pptx, אפשר לבנות את השקפים קודם ב-HTML עם כיוון מימין לשמאל ולהמיר, אם כלי המרה כזה זמין בסביבה. בדוק את התוצאה. - **גרפים:** בדוק שתוויות הצירים והמקרא לא התהפכו, ושסדר הקטגוריות הגיוני לקורא עברית. ## PDF סדר העדיפויות: 1. **HTML ← PDF דרך מנוע דפדפן**, אם זמין: מנועי דפדפן מטפלים היטב בכיוון, בחיבור אותיות ובטקסט מעורב. 2. **docx ← PDF** אחרי שהמסמך עומד בכל הגדרות ה-Word שלמעלה. 3. **ספריית PDF ברמה נמוכה:** רבות מהן לא מיישמות את האלגוריתם הדו-כיווני. התוצאה: אותיות הפוכות. אם אין ברירה, השתמש רק בכלי שתומך בכיוון מימין לשמאל, ואל תהפוך מחרוזות ידנית. בכל מקרה: - הטמע את הגופן בקובץ ה-PDF. - בדוק שבטקסט שמחולץ מה-PDF המילים בסדר הנכון (העתק-הדבק של שורה). - השתמש בגופן שקיים בסביבה ותומך בעברית. אל תפנה לגופנים ברשת. ## Excel (xlsx) - גיליון מימין לשמאל: `` ב-`sheetViews` של כל גיליון. עמודה A תופיע מימין. - יישור תאים: השאר "כללי" או הגדר יישור לימין לטקסט. מספרים נשארים מיושרים כרגיל. - כותרות עמודות בעברית, ושמות גיליונות בעברית קצרים (עד 31 תווים, בלי `/ \ ? * [ ]`). ## HTML ומיילים - `` ברמת המסמך. - CSS: `text-align: start`, ומאפיינים לוגיים (`margin-inline-start`, `padding-inline-end`) במקום left/right. - תוכן שמשתמש הזין (שמות, כותרות באנגלית): עטוף ב-`` או ב-`unicode-bidi: isolate`. - מספרי טלפון, כתובות מייל, קוד ומספרי הזמנה: ``. - במיילים: הגדר `dir="rtl"` גם על הטבלה או ה-div העוטף, כי חלק מתוכנות הדואר מתעלמות מ-`dir` של `html`. ## מספרים ואנגלית בתוך טקסט עברי האלגוריתם הדו-כיווני מסדר את רוב המקרים לבד, בתנאי שהכיוון הבסיסי של הפסקה הוא מימין לשמאל. נקודות לתשומת לב: - **פסקה שמתחילה באנגלית או במספר** עלולה לקבל כיוון שמאל-לימין בכלים שמזהים כיוון אוטומטית. ודא שהפסקה מוגדרת במפורש מימין לשמאל, או פתח במילה עברית. - **מספרי טלפון** (050-1234567), **מספרי חשבון, קודים וכתובות מייל:** שים בקטע טקסט נפרד בכיוון שמאל-לימין (ב-Word: קטע בלי `w:rtl`; ב-HTML: `dir="ltr"`). - **סוגריים:** בטקסט מימין לשמאל הם משתקפים אוטומטית. כתוב אותם בסדר הלוגי הרגיל ואל תחליף ביניהם ידנית. - **משפט עברי שמסתיים במילה באנגלית:** הנקודה בסוף עלולה לקפוץ לצד הלא נכון אם כיוון הפסקה לא מוגדר. הגדרת הכיוון פותרת את זה. - **סכומים:** בחר פורמט אחד (`1,200 ₪` או `₪1,200`) והיה עקבי. בדוק שהסימן לא נפרד מהמספר בסוף שורה. - **תאריכים:** 28.9.2026 יציב בכל הכלים. - **תווי כיווניות בלתי נראים** (סימן RLM, U+200F, או LRM, U+200E): מוצא אחרון בלבד, ובמשורה. הם בלתי נראים, מבלבלים בהעתקה ובחיפוש, ולא מחליפים הגדרת כיוון נכונה. ## גופנים עם תמיכה בעברית - **גופנים שנפוצים ב-Windows וב-Office:** Arial, David, Segoe UI, Tahoma, Times New Roman. ל-Word בעברית Arial ו-David בטוחים. - **גופנים פתוחים עם עברית** (אם קיימים בסביבה): Noto Sans Hebrew, Noto Serif Hebrew, Rubik, Heebo, Assistant, Alef, Frank Ruhl Libre. - ודא שהגופן שבחרת באמת כולל אותיות עבריות. גופן בלי עברית יוחלף בגופן אחר בלי אזהרה, והמסמך ייראה לא אחיד. - הטיה (italic) בעברית קשה לקריאה. להדגשה השתמש בהדגשה (bold) או בצבע. - גודל מינימלי מומלץ לגוף טקסט: 11 נקודות ב-Word, 18 במצגת. ## רשימת בדיקה לפני מסירה - [ ] הפסקאות מיושרות לימין, וסימני הרשימה והמספור מימין. - [ ] העמודה הראשונה בכל טבלה מימין. - [ ] הגופן אחיד בעברית ובאנגלית, ואין החלפת גופן אקראית. - [ ] הדגשות וגודל גופן חלים גם על הטקסט העברי (`bCs`, `szCs`). - [ ] מספרי טלפון, סכומים ותאריכים מוצגים נכון. - [ ] כותרת עליונה, תחתונה ומספרי עמודים בכיוון הנכון. - [ ] ב-Word: `themeFontLang` קיים ב-`settings.xml`. - [ ] הטקסט שמחולץ מהקובץ (העתק-הדבק) בסדר הנכון. - [ ] אמרת למשתמש לפתוח את הקובץ ב-Word (או בתוכנה שבה ישתמש) ולבדוק, במיוחד אם לא יכולת לרנדר. ## דוגמה **קלט:** "תכין לי קובץ Word עם הצעת מחיר ללקוח, עם טבלה של שלושה פריטים." **פלט (מה שהסקיל מוסיף לעבודה):** 1. ב-`styles.xml`: ברירת מחדל `w:bidi` לפסקאות, גופן Arial גם ב-`w:cs`, ושפה `w:bidi="he-IL"`. 2. ב-`settings.xml`: ``. 3. בכל פסקה: ``, ובכל קטע עברי: ``, ובהדגשה גם ``. 4. בטבלה: ``, והעמודה "תיאור" נכתבת ראשונה ומוצגת מימין. 5. בסוף `w:body`: `w:sectPr` עם ``. 6. הודעה למשתמש: "הקובץ מוכן. מומלץ לפתוח אותו ב-Word ולוודא שהטבלה והיישור מימין. אם משהו מוצג משמאל, ספר לי מה בדיוק ואתקן." ## מה לא לעשות - אל תהפוך אותיות, מילים או סדר עמודות כדי "לתקן" תצוגה. - אל תסתמך על בדיקה ב-LibreOffice או בתצוגה מקדימה בלבד. Word מתנהג אחרת. - אל תגדיר `left`/`right` קשיחים כשיש חלופה לוגית. - אל תשתמש בתווי כיווניות בלתי נראים כתחליף להגדרות. - אל תוריד גופנים מהרשת ואל תתקין חבילות בלי אישור המשתמש. - אל תאשים את הקובץ בבעיה של תצוגת הצ'אט, ולהפך.