আমি কীভাবে শক্ত ভাবে ফন্ট ফ্যালব্যাক সেট আপ করব?


16

টিএল; ডিআর: নির্ভরযোগ্যভাবে বলার সহজ উপায় কী: ডিফল্ট ফন্ট হিসাবে কনসোলস, কনসোলস দ্বারা অসমর্থিত অক্ষরগুলির জন্য ফ্রিমোনো এবং উভয় দ্বারা অসমর্থিত অক্ষরের জন্য সিম্বোলা ব্যবহার করুন?

যেহেতু আমার মূল প্রোগ্রামিং ফন্টটি আমার প্রয়োজনীয় সমস্ত গাণিতিক চিহ্নকে কভার করে না, তাই আমি প্রথমে নীচে প্রদর্শিত হিসাবে ফন্ট ফ্যালব্যাক সেট আপ করেছি:

(set-fontset-font t 'unicode (font-spec :name "FreeMono") nil 'append)
(set-fontset-font t 'unicode (font-spec :name "Symbola") nil 'append)

দুর্ভাগ্যক্রমে এটি আমার মূল ফন্ট সমর্থন করে এমন কিছু চরিত্রের জন্য ফন্টও বদলেছে তাই আমি এটিকে এতে পরিবর্তন করেছি

(set-fontset-font t 'unicode (font-spec :name "Consolas") nil)
(set-fontset-font t 'unicode (font-spec :name "FreeMono") nil 'append)
(set-fontset-font t 'unicode (font-spec :name "Symbola") nil 'append)

যদি আমার বোধগম্যতা সঠিক হয় তবে এটি নিশ্চিত করা উচিত যে কনসোলাস হ্যান্ডেল করতে পারে না এমন অক্ষরগুলি ফ্রিমনো দ্বারা পরিচালিত হয়, যদি না ফ্রিমোনোর না থাকে, সেক্ষেত্রে সেগুলি সিম্বোলা ব্যবহার করে প্রদর্শিত হবে। উপরের tমত একই কাজ করে তাও আমার বোঝাপড়া "fontset-default"

দুর্ভাগ্যক্রমে, এখনও এমন কিছু ঘটনা ছিল যেখানে ডান হরফ নির্বাচন করা হয়নি; আমি দেখতে পেয়েছি যে

(set-fontset-font t 'unicode (font-spec :name "Consolas") nil)
(set-fontset-font t 'unicode (font-spec :name "FreeMono") nil 'append)
(set-fontset-font t 'unicode (font-spec :name "Symbola") nil 'append)
(set-fontset-font "fontset-startup" 'unicode (font-spec :name "Consolas") nil)
(set-fontset-font "fontset-startup" 'unicode (font-spec :name "FreeMono") nil 'append)
(set-fontset-font "fontset-startup" 'unicode (font-spec :name "Symbola") nil 'append)

আরও ভাল কাজ করেছে, তবে সর্বদা নয়: ব্যবহার করে ফন্টের আকার পরিবর্তন করা

(set-face-attribute 'default nil :height some-size)

নতুন ফন্টসেট তৈরি হওয়ার কারণে ফলব্যাকগুলি উপেক্ষা করা হয়েছিল।

আমার বর্তমান সমাধানটি হ'ল

(set-fontset-font fontset 'unicode (font-spec :name "Consolas") nil)
(set-fontset-font fontset 'unicode (font-spec :name "FreeMono") nil 'append)
(set-fontset-font fontset 'unicode (font-spec :name "Symbola") nil 'append)

প্রতিটি ফন্টসেটে ( fontset-list), প্রতিটি ফন্টের আকার পরিবর্তনের পরে।

ফন্ট ফ্যালব্যাক সেট করার সঠিক উপায় কী?

দ্রষ্টব্য : পরীক্ষার উদ্দেশ্যে, এখানে কয়েকটি গণিতের অক্ষর রয়েছে: ℕ𝓟⧺×≠≥≤±¬∨∧∃∀λ⟿⟹⊥⊤⊢
তথ্যসূত্র : ফন্টসেটে এবং ফন্টসেটগুলি সংশোধন করার ক্ষেত্রে ইম্যাক্স ম্যানুয়াল


2
আমার একটি চিন্তা আছে যা সত্যিই আপনার সমস্যার সমাধান করে না, তবে the আপনার যদি তাত্ত্বিক এবং বৈজ্ঞানিক নথির জন্য গাণিতিক ইত্যাদি চিহ্নগুলির প্রয়োজন হয় তবে আপনি কেন এটির জন্য টেক্স এবং অউটেক্স ব্যবহার করবেন না? এটি এক্স (বা ম্যাক বা উইন্ডোজ, আপনি কী চালাচ্ছেন তার উপর নির্ভর করে) ফন্ট ফ্যালব্যাকগুলি অপ্রয়োজনীয় করে তোলে এবং আপনাকে উচ্চ মানের ডকুমেন্ট এবং স্নিপেট সরবরাহ করে (যেমন। Org মোডের জন্য)।

চিন্তাভাবনা: একটি পূর্ণ চরিত্রের সেটযুক্ত একটি ইউটিএফ -8 ফন্টটি আপনার সমস্যাটিকে পুরোপুরি সরিয়ে ফেলতে হবে (উদাহরণস্বরূপ, জিএনইউ ইউনিফন্ট), এবং যখন অভিনব হরফ এবং প্রয়োজনীয় গ্লাইফগুলির মধ্যে পছন্দ আছে, আমি পরেটি বেছে নেব।

2
@ কুলি আপনি খুব হতাশাবাদী। দেখুন github.com/cpitclaudel/monospacifier
ঈষ্ট

আমি কোথায় পড়েছি তা মনে করতে পারছি না, তবে আমি বিশ্বাস করি যে এলি জারেটস্কিই কোথাও কোথাও একই প্রশ্নের জবাব দিয়েছেন। আপনি fontsetভুল পথে চিন্তা করছেন । ইমাসগুলি প্রকৃতপক্ষে প্রতিটি অক্ষর এটি পরীক্ষা করে না যা কোনও ফন্ট কীভাবে এটি প্রদর্শন করতে জানে বা না তা প্রদর্শন করে। এটি খুব গণ্য নিবিড় হবে। সুতরাং প্রতি সেয়ে কোনও "ফলব্যাক" ব্যবস্থা নেই। আপনার নিজের ডিফল্ট ফন্ট সেট করা উচিত এবং তারপরে বিভিন্ন ফন্ট ব্যবহার করে নির্দিষ্ট রেঞ্জগুলিতে ম্যানুয়ালি ডিফল্ট ফন্টসেটটি পরিবর্তন করতে হবে। এই পদ্ধতিটি ম্যানুয়াল বা সম্ভবত প্যাকেজটি unicodeসহায়তা করতে পারে।
GenaU

@ জেনাউ আমি ভুল বোঝাবুঝি হতে পারে, তবে ইমাস চেক করেছে; কেবলমাত্র প্রতিটি ফন্টই নয়, কেবলমাত্র একটি ফন্টসেটে উপস্থিত হয়।
ক্লামেন্ট

উত্তর:


0

যারা ইমাসের ডকুমেন্টেশন পড়তে পারছেন না তাদের জন্য।

হরফ নির্বাচন

গ্রাফিকাল ডিসপ্লেতে ইমাক্স কোনও অক্ষর আঁকতে আগে, অবশ্যই এই অক্ষরের জন্য একটি "ফন্ট" নির্বাচন করতে হবে। সাধারণত, ইমাক্স স্বয়ংক্রিয়ভাবে সেই চরিত্রের জন্য নির্দিষ্ট করা মুখগুলির উপর ভিত্তি করে একটি ফন্ট বেছে নেয় — বিশেষত, মুখের বৈশিষ্ট্যগুলি ': পরিবার', ': ওজন', ': তীব্র' এবং ': প্রস্থ'। ফন্টের পছন্দটি প্রদর্শিত চরিত্রের উপরও নির্ভর করে; কিছু ফন্ট কেবলমাত্র অক্ষরের একটি সীমিত সেট প্রদর্শন করতে পারে। যদি কোনও উপলভ্য ফন্ট হুবহু প্রয়োজনীয়তার সাথে খাপ খায় না, ইমাক্স "নিকটতম মিলে যাওয়া ফন্ট" সন্ধান করে। এই বিভাগের ভেরিয়েবলগুলি ইম্যাক্স এই নির্বাচনটি কীভাবে নিয়ন্ত্রণ করে তা নিয়ন্ত্রণ করে।

face-font-family-alternatives

প্রশ্নে অক্ষরগুলি ব্যবহার করে বিশেষত পরীক্ষিত, এর সাথে অক্ষরগুলি পরীক্ষা করা
describe-character। প্রতিটি চরিত্র বিনামূল্যে ফন্টগুলির একটি ব্যবহার করে: কনসোলাস, ফ্রিমনো, সিম্বোলা। কনসোলায় ফ্রেম ফন্ট সেট করে set-frame-font

এখনও পর্যন্ত ১৪ টি উর্ধ্বতন, নিম্নোক্ত উত্তর দিন এবং ইইউ বিজ্ঞান এখনও মিস্টির সমাধান করতে পারে না।


ধন্যবাদ! আপনি কি আমার পোস্টের উপরে আমার মন্তব্যের প্রতিক্রিয়া হিসাবে বিবেচনা করেছেন, বরং এটি একটি পৃথক উত্তর?
ক্লিমেট

1
(আমি স্পষ্ট করে জানিয়েছি যে আমি ইম্যাক্স 26 এও পরীক্ষা করেছি, এবং আপনার উত্তরটি কাজ করছে বলে মনে হচ্ছে না: আমি (setq face-font-family-alternatives '(("Consolas" "FreeMono" "Symbola")))তখন ব্যবহার করেছি M-x set-frame-font RET Consolas RET; চরিত্রগুলি কনসোলাস এবং সেগোয়ে ইউআই প্রতীক মিশ্রণ ব্যবহার করেছে)
ক্লাইমেন্ট

আমি মাঞ্জারো আর্চ লিনাক্সে এই ক্রমটি পরীক্ষা করেছি: ℕ𝓟⧺ × ≠ ≥≤ ± ¬∨∧∃∀λ⟿⟹⊥⊤⊢; কিছু ফন্ট ইনস্টল না করা হলে কি হয় তা পরীক্ষা করে দেখিনি। এটা সম্ভব হতে পারে. কারণ ফন্টের নামগুলি ম্যানুয়ালি প্রবেশ করানো হয়, বিদ্যমান বিদ্যমানগুলির তালিকা থেকে নয়।
আলেকজান্ডার কার্বিভিনিচি

আমি ইনস্টল তালিকার সমস্ত ফন্টের সাথে পরীক্ষিত, ইন emacs -Q
ক্লোমেন্ট

@ ক্ল্যামেন্ট ইম্যাক্স-কিউ বিকল্পটি অনেকগুলি নিপীড়িত করে: - না-এক্স-রিসোর্সগুলি। সমস্যাটি এর মধ্যেই থাকতে পারে। আমার জন্য, কনসোলস কেবল এই চর থেকে শুরু হয়: "×"। এবং প্রথম দুটি "ℕ𝓟" ফ্রিমনো এবং সিম্বোলা।
আলেকজান্ডার কারবিভিনিচি

-1

M-x customize-variable face-font-family-alternatives

এখানে এমন একটি তালিকা রয়েছে যা দেখে মনে হচ্ছে:

(("Monospace" "courier" "fixed")
 ("Monospace Serif" "Courier 10 Pitch" "Consolas" "Courier Std" "FreeMono" "courier" "fixed")
 ("courier" "CMU Typewriter Text" "fixed")
 ("Sans Serif" "helv" "helvetica" "arial" "fixed")
 ("helv" "helvetica" "arial" "fixed"))

customizeবাফার ইন্টারফেসে আপনার ক্রম যুক্ত করুন :

("Consolas" "FreeMono" "Symbola")

যদি প্রদত্ত পরিবার নির্দিষ্ট করা থাকে তবে উপস্থিত না থাকে, এই পরিবর্তনশীল চেষ্টা করার জন্য বিকল্প ফন্ট পরিবারগুলি নির্দিষ্ট করে। প্রতিটি উপাদান এই ফর্ম থাকা উচিত:

 (FAMILY ALTERNATE-FAMILIES...)

যদি পরিবার নির্দিষ্ট করা থাকে তবে উপলভ্য না হয় তবে ইমাকরা অ্যালটারনেট-ফ্যামিলিতে প্রদত্ত অন্য পরিবারগুলির চেষ্টা করবে, যতক্ষণ না এটি বিদ্যমান কোনও পরিবারকে খুঁজে না পায়।

কীভাবে ব্যবহার করবেন face-font-family-alternatives:

আপনি বাফার ইন: M-x set-frame-font

তালিকা থেকে একটি ফন্ট চয়ন করুন। চয়ন করা ফন্টটি কী ফন্ট অনুসন্ধান ক্রম face-font-family-alternativesব্যবহার করবে তা নির্ধারণ করবে । এই উদাহরণে কনসোলাস

কোনও অক্ষর প্রদর্শন করতে ফন্ট পরিবার কী ব্যবহৃত হয়েছিল তা পরীক্ষা করতে: M-x describe-char


ধন্যবাদ! তবে আমি মনে করি না এটি প্রশ্নের উত্তর দেয়। এএএএএফসিটি, কনসোলস হরফ উপলব্ধ না থাকলে আপনি যে কনফিগারেশনটি প্রস্তাব করেছিলেন সেটি ফ্রিমনো ব্যবহার করবে তবে কনসোলস দ্বারা সমর্থিত নয় এমন অক্ষরগুলির জন্য এটি ফ্রিমনোতে ফ্যালব্যাক করবে না।
ক্লাইমেন্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.