ট্রুটাইপ ফন্টের অবস্থান


19

আমি একটি ছোট স্ক্রিপ্ট তৈরি করতে চাই যা ব্যবহারকারীর সিস্টেমে কয়েকটি ট্রুইটাইপ ফন্ট ইনস্টল করে। আমার উবুন্টু মেশিনে ট্রাইয়েটাইপ ফন্টগুলি অবস্থিত /usr/share/fonts/truetype। তবে, আমি নিশ্চিত না যে এই অবস্থানটি সমস্ত মেশিনে একই রকম কিনা। কোনও লিনাক্স সিস্টেমে ট্রুয়েটাইপ ফন্টগুলি কোথায় সংরক্ষণ করা যায় তা খুঁজে পাওয়ার কোনও উপায় আছে?

আপডেট
কিছু গবেষণার পরে আমি দেখতে পেলাম যে পথটি usr/share/fonts/truetypeXML ফাইলে নির্দিষ্ট করা আছে /etc/fonts/fonts.conf। এটি একটি এক্সএমএল ফাইল, তাই আমি দির পেতে এক্সপথ ব্যবহার করতে পারি:

xpath -q -e 'fontconfig/dir[1]/text()[1]' /etc/fonts/fonts.conf

আমি জানি না তবে সমস্ত (বা বেশিরভাগ) লিনাক্স সিস্টেমে এই ফাইলটি উপস্থিত থাকবে কিনা।


fc-cache(1)ম্যান পৃষ্ঠাটিও দেখুন যা আপনাকে সিস্টেমে নতুন ফন্ট যুক্ত করতে দেয়।
jww

উত্তর:


20

যে কোনও ফোল্ডারের যে কোনও উপ-ডিরেক্টরিের অধীনে অবস্থিত /usr/share/fontsএবং ~/.fontsস্ক্যান করা এবং আপনি যে সংগ্রহটি ব্যবহার করতে সক্ষম হবেন তা যুক্ত হয় Every সুতরাং যতক্ষণ না আপনার ফন্টটি এই দুটি ডিরেক্টরিগুলির মধ্যে একটির মধ্যে থাকে এটি সঠিক সংস্থায় অবস্থিত, সেই অবস্থানটি প্রায় প্রতিটি বড় লিনাক্স ডিস্ট্রোয়ের জন্য একই।

হালনাগাদ:

উপায় দ্বারা আমি নিশ্চিত করতে পারি যে fonts.confফাইলটি ফেডোরা এবং উবুন্টু উভয়তেই উপস্থিত রয়েছে (এবং তাদের উত্স: জুবুন্টু, লুবুন্টু, লিনাক্স মিন্ট, দারুচিনি, পেপারমিন্ট ওএস, ফেডোরা এবং এর সমস্ত স্পিন, কিছু উল্লেখ করার জন্য)।


1
তারপরে, আমার কেন ফন্ট রয়েছে Firefoxএবং gnome-font-viewerযেগুলি সেই অবস্থানগুলিতে ( /usr/share/fontsএবং ~/.fonts) বিদ্যমান নেই ? আমি ফেডোরা 28
হিসাবরক্ষক

আপনি FONTCONFIG_PATHপ্রথমে পরীক্ষা করতে চাইবেন । FONTCONFIG_PATHডিফল্ট কনফিগারেশন ডিরেক্টরি ওভাররাইড করতে ব্যবহৃত হয়।
jww

4

ফেডোরায় ফোল্ডারের পাথ /home/{user}/.local/share/fonts

আপনি এখানে ফন্ট ফাইলগুলি অনুলিপি / পেস্ট করতে পারেন।


1

সমস্ত বিতরণ আলাদা আলাদা, আপনি একটি ডিফল্ট পাথ সেট করা ভাল এবং ব্যবহারকারীকে ডিফল্ট এবং একটি কাস্টমের মধ্যে নির্বাচন করতে দেওয়া ভাল।

সম্পাদনা:

আমার মতে, আপনার কাছে তিনটি সমাধান রয়েছে কারণ এর জন্য পরিবেশের পরিবর্তনশীল বা কার্যকারিতা নেই।

  1. একটি ডিফল্ট পাথ সেট করুন এবং ব্যবহারকারীকে ডিফল্ট এবং একটি কাস্টমের মধ্যে নির্বাচন করতে দিন।
  2. Dtrosset যেমন বলেছিল, আপনি বিভিন্ন বিতরণের জন্য আপনার ফন্টগুলির সাথে প্যাকেজ তৈরি করতে পারেন।
  3. আপনি যদি / এলিফ / অন্যটি ব্যবহার করতে পারেন এবং বিভিন্ন ফন্টের সার্ভারের পাথের উপস্থিতি আছে কিনা তা পরীক্ষা করতে পরীক্ষা করতে পারেন। যদি কারও অস্তিত্ব না থাকে তবে ডিফল্ট পাথটি দেখান এবং ব্যবহারকারীকে এটির এবং একটি কাস্টমের মধ্যে নির্বাচন করতে দিন।

উদা:

DEFAULT="$home/.fonts/"
UBUNTU_XFSTT="/usr/share/fonts/truetype/"
RHL52_XFS="/usr/X11R6/lib/X11/fonts/ttfonts/"
RHL6_XFSTT="/usr/X11R6/lib/X11/fonts/"
DEBIAN_XFSTT="/usr/share/fonts/truetype/"

#Test if directory exist
if test -e ${UBUNTU_XFSTT} ; then
    echo ${UBUNTU_XFSTT}
elif test -e ${RHL52_XFS} ; then
    echo ${RHL52_XFS}
elif test -e ${RHL6_XFSTT} ; then
    echo ${RHL6_XFSTT}
elif test -e ${DEBIAN_XFSTT} ; then
    echo ${DEBIAN_XFSTT}
else
    echo ${DEFAULT}
fi

PS এটিই আমার মতামত ...


-1 হ্যাক। এটি কোনও সমাধান নয় এবং এটি কেবল বিকাশকারী, স্ট্যাকডক্রোকডের জন্যই হতাশার কারণ হবে কারণ আমরা প্রতিটি ব্যবহারকারীর উপর নির্ভর করতে পারি না যে তাদের টিটিএফ ফাইলগুলি কোথায় তা জেনে। এমনকি ডেভেলপাররা ফাইলগুলি কোথায় রয়েছে তাও যদি না জানে তবে কীভাবে কোনও ব্যবহারকারী জানবেন বলে আমাদের ধারণা করা যায়?
নাইট্রোডিস্ট

আপনি FONTCONFIG_PATHপ্রথমে পরীক্ষা করতে চাইবেন । FONTCONFIG_PATHডিফল্ট কনফিগারেশন ডিরেক্টরি ওভাররাইড করতে ব্যবহৃত হয়।
jww

0

হতে পারে আপনি আপনার হরফ দিয়ে প্যাকেজ তৈরি বিবেচনা করতে পারেন। প্যাকেজ বিবরণী ফাইল তৈরি এবং তৈরি করার বিধি তৈরি করা কিছুটা কাজ। তবে আপনি বিনামূল্যে আপডেট এবং আনইনস্টল করার ক্ষমতা অর্জন করেন। উবুন্টুর জন্য, আপনার .deb ফাইল তৈরি করা উচিত।

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