Whatsup - לינוקס, תוכנה חופשית וקוד פתוח בעברית

אוף טופיק - עזרה בהדפסת עברית דרך הטרמינל.

Anonymous - 24/03/2019 - 01:44
נושא ההודעה: עזרה בהדפסת עברית דרך הטרמינל.
שאלתי בעבר הלא רחוק בהקשר של emacs אבל אני מבין שהבעיה כלל לא שם אלא במערכת עצמה.
הבעיה: הדפסה דרך שורת פקודה כלומר כך:
קוד:
lpr somefile

מדפיסה סוגריים מרובעים, כאשר האותיות עבריות.
כאשר הטקסט באנגלית, ההדפסה נכונה.
יצרתי מסמך ב- gedit.
בשתי שורות ראשונות כתבתי (בכל שורה) מילה בעברית.
שורה שלישית כתבתי טקסט קצר באנגלית.
שורה רביעית עוד מילה בעברית.
שלחתי להדפסה דרך הטרמינל ואני מקבל ריבועים במקום עברית.
בשורה שלישית הטקסט באנגלית כמו שצריך.
מה אני צריך להגדיר כדי לסדר את זה?

ראוי לציין שהקידוד של הקובץ הוא utf-8 בדקתי בעזרת
קוד:
file -i
שמראה גם את הקידוד של הקובץ.
ראוי גם לציין שהדפסה דרך gedit מדפיסה מעולה, כולל עברית וללא סוגריים מרובעים, כלומר הבעיה היא רק בהדפסה דרך הטרמינל (או דרך emacs שאני מניח שמשתמשת בהדפסה דרך הטרמינל).
כמו כן, כמובן שגם הדפסה דרך גוגל כרום ושאר GUI עובדת נהדר עם העברית.
Anonymous - 24/03/2019 - 01:45
נושא ההודעה:
אה הנה ה-locale שלי:
קוד:
LANG=en_US.utf8
LC_CTYPE="en_US.utf8"
LC_NUMERIC=he_IL.UTF-8
LC_TIME=he_IL.UTF-8
LC_COLLATE="en_US.utf8"
LC_MONETARY=he_IL.UTF-8
LC_MESSAGES="en_US.utf8"
LC_PAPER=he_IL.UTF-8
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT=he_IL.UTF-8
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=

Anonymous - 24/03/2019 - 02:45
נושא ההודעה:
ה- system locale שלי היה en_us.UTF-8 ושיניתי אותו ל:
he_IL.UTF-8

גם זה לא עוזר (אין לי מושג מה ההבדל ביניהם) להדפיס עברית מהטרמינל.
כלומר הריבועים קיימים עדיין.
Anonymous - 24/03/2019 - 04:18
נושא ההודעה:
כבר יש לי מושג מה ההבדל בין הקידודים.
אחרי ששיניתי, פתאום gnome התחלפה לעברית, אז חזרתי חזרה לקידוד המקורי.
עדיין הבעיה שלשמה התכנסתי פה, קיימת Smile.
Anonymous - 24/03/2019 - 07:07
נושא ההודעה:
פונטים.
התקנה
ו או הגדרה בטרמינל
Anonymous - 24/03/2019 - 07:51
נושא ההודעה:
אלו פונטים אני צריך?
יש לי מותקן קלמטס, corefonts (אלו פונטים של מיקרוסופט).
יש לי גם noto של גוגל וגם dejavu.

יש עוד אבל את אלו אני התקנתי בעצמי.
אלו פונטים יש לך?
Anonymous - 24/03/2019 - 07:52
נושא ההודעה:
*קולמוס
Anonymous - 24/03/2019 - 11:44
נושא ההודעה:
התעלמת מהחלק השני שכתבתי -
קינפוג הטרמינל.
(אפילו ב cmd של וינדוז אפשר לעשות את זה)
mksoft - 24/03/2019 - 12:26
נושא ההודעה:
השתמש בכלי כמו paps אשר ייצר postscript ואת הפלט הפנה ל־lpr.
Anonymous - 24/03/2019 - 13:21
נושא ההודעה:
בטיטו :
התעלמת מהחלק השני שכתבתי -
קינפוג הטרמינל.
(אפילו ב cmd של וינדוז אפשר לעשות את זה)

זה לא שהתעלמתי.
אין לי מושג מה אני אמור לעשות בהגדרת הטרמינל.
Anonymous - 24/03/2019 - 14:08
נושא ההודעה:
mksoft :
השתמש בכלי כמו paps אשר ייצר postscript ואת הפלט הפנה ל־lpr.

העניין הוא שבעבר לא הייתה לי בעיה עם הדפסה כזו.
אני זוכר במפורש שהצלחתי להדפיס עברית משם ללא בעיה.
אמנם זה היה דרך emacs אבל emacs משתמשת להבנתי בפקודה lpr כך שזה אותו הדבר.
לא הגדרתי שום דבר מיוחד בשביל הטרמינל, אבל אולי אכן חסרים לי פונטים רק שאיני יודע מי מהם.
הנה הפונטים המאופשרים אצלי:
קוד:
eselect fontconfig list
Available fontconfig .conf files (* is enabled):
  [1]   10-autohint.conf
  [2]   10-hinting-full.conf
  [3]   10-hinting-medium.conf
  [4]   10-hinting-none.conf
  [5]   10-hinting-slight.conf *
  [6]   10-no-sub-pixel.conf
  [7]   10-scale-bitmap-fonts.conf *
  [8]   10-sub-pixel-bgr.conf
  [9]   10-sub-pixel-rgb.conf
  [10]  10-sub-pixel-vbgr.conf
  [11]  10-sub-pixel-vrgb.conf
  [12]  10-unhinted.conf
  [13]  11-lcdfilter-default.conf
  [14]  11-lcdfilter-legacy.conf
  [15]  11-lcdfilter-light.conf
  [16]  20-unhint-small-dejavu-sans.conf
  [17]  20-unhint-small-dejavu-sans-mono.conf
  [18]  20-unhint-small-dejavu-serif.conf
  [19]  20-unhint-small-vera.conf *
  [20]  25-unhint-nonlatin.conf
  [21]  30-metric-aliases.conf *
  [22]  40-nonlatin.conf *
  [23]  45-generic.conf *
  [24]  45-latin.conf *
  [25]  49-sansserif.conf *
  [26]  50-user.conf *
  [27]  51-local.conf *
  [28]  57-dejavu-sans.conf
  [29]  57-dejavu-sans-mono.conf *
  [30]  57-dejavu-serif.conf
  [31]  60-generic.conf *
  [32]  60-latin.conf *
  [33]  60-liberation.conf
  [34]  65-culmus.conf *
  [35]  65-fonts-persian.conf *
  [36]  65-khmer.conf
  [37]  65-nonlatin.conf *
  [38]  66-noto-mono.conf
  [39]  66-noto-sans.conf
  [40]  66-noto-serif.conf
  [41]  69-unifont.conf *
  [42]  70-no-bitmaps.conf
  [43]  70-yes-bitmaps.conf
  [44]  80-delicious.conf *
  [45]  90-roboto-regular.conf
  [46]  90-synthetic.conf *


ראוי לציין שהפונטים האלו:
קוד:
[28]  57-dejavu-sans.conf
[30]  57-dejavu-serif.conf
38]  66-noto-mono.conf
[39]  66-noto-sans.conf
[40]  66-noto-serif.conf


היו מאופשרים (ואז הפעלתי מחדש את המחשב) אבל הם לא סיפקו שום דבר חדש מבחינת ההדפסה שאני מבקש, לכן ביטלתי אותם שוב.
Anonymous - 24/03/2019 - 14:30
נושא ההודעה:
התקדמות מדהימה אבל לא מספקת:
בפוסט הזה:
https://forums.gentoo.org/viewtopic-t-898656-start-0.html
המגיב הראשון פשוט אמר להוסיף את המשתנה LANG ל- bashrc.
הוספתי את en_US אבל זה לא עזר.
אבל אז שיניתי ל-he_IL ועכשיו ההפדסה בעברית עובדת היטב.
אני לא רואה ריבועים אלא טקסט נורמלי.
הבעיה עכשיו היא שההדפסה לא מיישרת את הטקסט כמו שצריך.
כלומר כשאני מדפיס דרך gedit הוא מדפיס לי את הטקסט בדיוק כפי שאני רואה אותו על המסך כלומר
שורה שמתחילה בעברית ומיושרת לימין, אני אכן רואה מודפסת בצד ימין.
שורה באנגלית שמתחילה משמאל, אני אכן רואה אותה מודפסת משמאל לימין.

כשאני מדפיס דרך emacs או סתם דרך הטרמינל, אין התחשבות ביישורים האלו.
ההדפסה כולה היא כאילו כל הטקסט הוא באנגלית וההדפסה היא משמאל לימין אך העברית נראית כמו שצריך.
מה אני צריך להוסיף להגדרות (אולי שוב ב- bashrc.) כדי שתהיה התחשבות ביישור של הטקסט כפי שיש בהדפסה דרך GUI כלשהו?
Anonymous - 24/03/2019 - 14:34
נושא ההודעה:
רק כדי שיהיה ברור:
"ההדפסה כולה היא כאילו כל הטקסט הוא באנגלית וההדפסה היא משמאל לימין אך העברית נראית כמו שצריך. "

כשאני אומר שהעברית נראית כמו שצריך הכוונה היא שאמנם היא מיושרת לשמאל כמו באנגלית (שזה כמובן לא כמו שצריך) אבל סימני הפיסוק נמצאים במקומם.
אין קפיצות לתחילת שורה וכיוצא באלו דברים משונים.
רואים את המשפטים בעברית כמו שצריך, רק שהם כולם מודפסים בצד השמאלי של הדף ולא בימני כמו שאמור להיות.
Anonymous - 24/03/2019 - 16:36
נושא ההודעה:
התקנתי את paps.
ראיתי פה:
https://unix.stackexchange.com/a/152430/296652
מה עושים וזה בדיוק מה שעשיתי.
רק הוספתי לפני
קוד:
--rtl

ובסה"כ זו הפקודה:
קוד:
paps --rtl MYFILE | lpr

וזה אכן הדפיס לי את הטקסט מיושר לימין רק שעכשיו גם הטקסט באנגלית מיושר לימין.
זה כמובן לא מה שאני רוצה.
וכמובן אם אני לא מוסיף את
קוד:
--rtl
, הטקסט מיושר לשמאל כולל העברית כך שבעצם כלום לא השתנה.
Anonymous - 25/03/2019 - 18:55
נושא ההודעה:
תיקון ראשוני: סינון הקלט של paps דרך bidiv (יש לו שתי אפשרויות שונות לגילוי הכיווניות).

ואם זה בכיוון: אפשר לשאוב משם את גילוי הכיוון לתוך paps.
Anonymous - 25/03/2019 - 22:31
נושא ההודעה:
תוצאות:
ראיתי שאם אני פוקד:
קוד:
bidiv -l MYFILE
זו האפשרות הטובה בשבילי כי אכן כשאני סתם זורק את זה לטרמינל הוא פולט את העברית בצד שמאל ואת האנגלית בימין.
הבעיה היא שכשאני שולח את זה לpaps ומשם ל-lpr (או ישירות ל-lpr בלי מעבר ב-paps), כלומר כך:
קוד:
bidiv -l MYFILE | paps | lpr

או כך:
קוד:
bidiv -l MYFILE |  lpr

או גם כך:
קוד:
bidiv -l MYFILE | paps --rtl  | lpr

בכל המקרים האלו, הטקסט בעברית מתהפך, כלומר אם כתוב לי בקובץ הטקסט את המילה מוזס, הוא מדפיס לי את המילה סזומ וכך לכל המילים בעברית.
אז מבחינת הכיווניות (עברית/אנגלית) ניראה שאכן זה עוזר, אבל יש שיבוש של העברית.
Anonymous - 25/03/2019 - 22:33
נושא ההודעה:
כמובן שהתכוונתי בתחילת ההודעה שלי שאת האנגלית הוא פולט בשמאל ואת העברית בימין.
אני כותב מהר משאני חושב, לעיתים. Smile.
כל הזמנים הם GMT + 2 שעות