কীভাবে জাভাস্ক্রিপ্ট থেকে ইউনিকোড অক্ষরগুলি এইচটিএমএলে ইমোজি হিসাবে রেন্ডারিং থেকে রোধ করবেন?


119

আমি ফাইলফর্ম্যাট থেকে বিশেষ অক্ষরের জন্য ইউনিকোড খুঁজে পাচ্ছি n ইনফো এর অনুসন্ধান

কিছু চরিত্রগুলি ক্লাসিক ব্ল্যাক অ্যান্ড হোয়াইট গ্লাইফ হিসাবে and (সতর্কতা চিহ্ন, \u26A0বা ⚠) হিসাবে রেন্ডার করছে । এগুলি পছন্দনীয়, যেহেতু আমি তাদের মধ্যে সিএসএস শৈলীগুলি (যেমন রঙ) প্রয়োগ করতে পারি।

সতর্কতা গ্লিফ চিত্র

অন্যরা নতুন কার্টুনি ইমোজি হিসাবে রেন্ডার করছে, যেমন ⌛ (ঘন্টাঘড়ি, \u231Bবা ⌛)। এগুলি পছন্দনীয় নয়, যেহেতু আমি তাদের পুরোপুরি স্টাইল করতে পারি না।

ঘন্টাঘড়ি ইমোজি এর চিত্র

মনে হচ্ছে ব্রাউজারটি এই পরিবর্তন করছে, যেহেতু আমি কেবল ম্যাক ক্রোম বা ম্যাক সাফারি নয়, ম্যাক ফায়ারফক্সে ডায়রগ্লাস গ্লিফটি দেখতে পাচ্ছি।

পুরানো (ফ্ল্যাট মনোোটোন) সংস্করণগুলি প্রদর্শন করতে ব্রাউজারগুলিকে বাধ্য করার কোনও উপায় আছে কি?

আপডেট : মনে হচ্ছে (নীচের মন্তব্য থেকে) এখানে একটি পাঠ্য উপস্থাপনা নির্বাচক রয়েছে , যা FE0Eপাঠ্য বনাম-ইমোজি প্রয়োগের জন্য উপলব্ধ। নির্বাচক চরিত্রের কোডে স্থান ছাড়াই প্রত্যয় হিসাবে সংশ্লেষিত হয় যেমন ⌛︎এইচটিএমএল হেক্স বা \u231B\uFE0Eজেএস এর জন্য। তবে এটি কেবল সমস্ত ব্রাউজার (যেমন ক্রোম এবং এজ) দ্বারা সম্মানিত হয় না


আপনি কি নিজের সিএসএস বিধিগুলিতে কোনও ফন্ট-পরিবার সেট করেন?
জি-সিরিলাস


1
@ জাজানপেজ ︎এবং \uFE0Eসঠিক (2 এবং 8) এবং সাফারি (8 এবং 9) এ সূক্ষ্মভাবে কাজ করে, তবে উত্তরের মতো বলে: ব্রাউজার সমর্থনটি দোষযুক্ত এবং ক্রোম (46) সম্পূর্ণরূপে বিচ্ছিন্ন।
29 二三

2
ইমোজিসের রেন্ডারিং নিয়ন্ত্রণের কোনও সহজ উপায় নেই।
nwellnhof

1
আপনাকে যা করতে হবে তা হ'ল এই অক্ষরগুলির জন্য গ্লিফ রয়েছে এমন একটি ফন্ট প্রয়োগ করা, এবং যার গ্লাইফগুলি আপনার পছন্দ মতো দেখায় (কোনও রঙ, কোনও আকার বা আপনার পছন্দসই কিছু নয়)।
শ্রীভৎসরআর

উত্তর:


133

সংযোজন করুন ইউনিকোড পরিবর্তন নির্বাচক , টেক্সট, VS15 অত্যাচার চরিত্র ︎
এটি পূর্ববর্তী অক্ষরটিকে ইমোজি প্রতীক হিসাবে পরিবর্তে পাঠ্য হিসাবে রেন্ডার করতে বাধ্য করে।

<p>🔒&#xFE0E;</p>

ফলাফল: 🔒︎

আরও শিখুন: পাঠ্য বা ইমোজি হিসাবে ইউনিকোড প্রতীক


1
এটি অত্যন্ত সহায়ক, যে কারণে আমি অন্য দিন এটির উপরে উন্নতি করেছি। আমি ভাবছি যে আমি লিখছি এমন ইমোজি এবং এই অদৃশ্য চরিত্রটিকে কীভাবে একটি ফেসবুক বিজ্ঞাপনে পেস্ট করতে পারি? পিএস এটিও আকর্ষণীয় ছিল: আপেল.স্ট্যাকেক্সচেঞ্জ
রায়ান

3
আমি কেবল বুঝতে পেরেছি যে এই &#xFE0E;কৌশলটি নির্দিষ্ট ফন্টের জন্য আমার পক্ষে কাজ করে না। আমি এমন একটি ফন্ট খুঁজে পেতে বেশ কষ্ট পাচ্ছি যা আমি যুক্তিসঙ্গতভাবে সমস্ত মেশিনে (উইন্ডোজ, আইওএস, ম্যাক, অ্যান্ড্রয়েড, ইত্যাদি) ইনস্টল করার আশা করতে পারি।
রায়ান 21

12
এই সমাধানটি প্রতীকগুলির জন্য সত্যই গ্রহণযোগ্য নয় যা এমনকি ইনপুট ক্ষেত্রেও ঘটতে পারে। যুক্তিটিতে ব্যবহৃত প্রতীকটি নিয়ে আমার এই সমস্যা হচ্ছে, এবং আমার জীবনের জন্য আমি বুঝতে পারি না যে কেন কেউ মনে করে যে এটি কখনও ইমোজি হওয়া উচিত!
উদ্ভট

2
স্টাইলাইজডের পরিবর্তে ফ্ল্যাট প্রদর্শিত হওয়ার জন্য ইমোজি করার পরে এই বিশেষ চরিত্রটি অনুলিপি করার জন্য নিম্নলিখিত পৃষ্ঠাটি সহায়ক helpful যেমন আপনি দেখতে পাবেন 💬︎ এর পরিবর্তে 💬 এর পরিবর্তে এবং 🌟︎ এর পরিবর্তে ⌛︎ এবং ⌛︎ এর পরিবর্তে of এবং 🔒︎ এর পরিবর্তে your (আপনার ডিভাইসের উপর নির্ভর করে) ইউনিকোড- symbol.com/u/FE0E.html
রায়ান

15
এটি আমার জন্য উদাহরণে ইমোজি হিসাবে রেন্ডার করে, ম্যাক 10.11.6 এ ক্রোম 71।
লাহরন

13

আমি একটি ইউনিকোড অক্ষর ছিল contentএকটি এর span::before, এবং আমি ছিল font-familyএর span"Segoe UI 'তে সাংকেতিক" এ সেট করা হয়েছে। তবে ক্রোম "Segoe UI ইমোজি" রেন্ডার করতে হরফ হিসাবে ব্যবহার করেছে।

যাইহোক, যখন আমি সেট font-family"Segoe UI 'তে সাংকেতিক" থেকে স্পষ্টভাবে জন্য span::before, বরং শুধু চেয়ে জন্য span, তারপর এটা কাজ করে।


এটি সঠিক উত্তর হওয়া উচিত, বিশেষত যেহেতু পুরানো অদৃশ্য চরিত্র পদ্ধতিটি বেশিরভাগ প্রধান ব্রাউজারগুলি দ্বারা সম্মানিত হয় না।
সারাহ সি। Corriher

2

আইওএসের ইমোজি প্রদর্শন করা প্রতিরোধের জন্য সিএসএস-কেবলমাত্র সমাধানের জন্য, আপনি font-family: monospaceইমোজি ভেরিয়েন্টের চেয়ে গ্লাইফের পাঠ্য রূপের ডিফল্টটি ব্যবহার করতে পারেন ।


1

অ্যান্ড্রয়েড ফন্টগুলি আপনার প্রত্যাশা মতো সমৃদ্ধ নয়। হরফ ফাইলগুলিতে এই বিদেশী গ্লিফ নেই এবং অ্যান্ড্রয়েডের গ্লিফ ছাড়াই কয়েকটি অক্ষরের জন্য একটি হ্যাক রয়েছে। তারা আইকন দিয়ে প্রতিস্থাপন করা হয়।

সুতরাং সমাধানটি হ'ল ওয়েব ফন্টের সাথে সংহত করা (ডাব্লু)। ফন্টফর্গে নতুন ফন্ট ফাইল তৈরি করুন এবং উদাহরণস্বরূপ ফ্রি সেরিফ টিটিএফ থেকে প্রয়োজনীয় গ্লাইফ বাছুন। প্রতিটি গ্লাইফ লাগে 1 কে। Woff ফাইল উত্পন্ন করুন।

কাস্টম ফন্ট পরিবার আমদানি করার জন্য সহজ সিএসএস প্রস্তুত করুন।

style.css:

@font-face {
  font-family: 'Exotic Icons';
  src: url('exotic-icons.woff') format('woff');
}

.exotic-symbol-font {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: 'Exotic Icons';
    font-style: normal;
    font-weight: normal;
    line-height: 1;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

index.html ফাইল:

<html>
  <head>
    <meta charset="utf-8">
    <link href="style.css" rel="stylesheet"></head>
    <title>Test custom glyphs</title>
  </head>
  <body>
    <table>
      <tr>
        <td class="exotic-symbol-font">
            😭  &#x2660; a  g
        </td>       
      </tr>
    </table>
  </body>
</html>

1

যদি আপনার প্রাথমিক উদ্বেগ একরঙা প্রদর্শন করতে বাধ্য হয় তবে ইমোজিটি পাঠ্যটি থেকে খুব বেশি দাঁড়ায় না, সিএসএস ফিল্টারগুলি, একা অথবা ইউনিকোড প্রকরণ নির্বাচকের সাথে একত্রে, আপনি চান এমন কিছু হতে পারে।

p.gscale { 
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}
a {
  color: #999;
  -webkit-filter: grayscale(100%) sepia(100%) saturate(400%) hue-rotate(170deg);
   filter: grayscale(100%) sepia(100%) saturate(400%) hue-rotate(170deg);
}
<p class="gscale">You've now got emoji display on 🔒lockdown🔒.</p>

<p>External Link: <a href="https://knowyourmeme.com/memes/party-hard">celebrate 🎉</a></p>

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

শুধু সাবধান মনে । আপনি কোনও সন্তানের মধ্যে পিতামাতার উপাদানগুলির ফিল্টারটিকে ওভাররাইড করতে পারবেন না, সুতরাং এই কৌশলটি কোনও অনুচ্ছেদে গ্রেস্কেল করতে ব্যবহার করা যাবে না, তারপরে এর মধ্যে থাকা লিঙ্কগুলিকে আবার রঙিন করুন। 😢

... তবুও, এটি এমন পরিস্থিতিতেগুলির জন্য দরকারী যেখানে আপনি হয় পুরো জিনিসটিকে হাইপারলিংক তৈরি করতে যাচ্ছেন বা এর মধ্যে সমৃদ্ধ মার্কআপটিকে অস্বীকার করছেন। (যেমন শিরোনাম এবং বর্ণনা)

যাইহোক, সিএসএস বাস্তবায়িত না হলে এটি কাজ করবে না, তাই আমি একটি দ্বিতীয় বিকল্প দেব যা <title>ইউনিকোড পরিবর্তনের নির্বাচকের চেয়ে উপাদানগুলিতে বেশি নির্ভরযোগ্য (আমি আপনাকে গিটহাবের দিকে দেখছি I আমি আমার মধ্যে নকল আইকন পছন্দ করি না) ব্রাউজার ট্যাব):

আপনি যদি কোনও <title>উপাদান সরবরাহকারী কোনও স্ট্রিং রাখছেন তবে ইমোজিটি কোনও বোল্ড / ইটালিক / আন্ডারলাইন / ইত্যাদি সহ ফিল্টার করুন। মার্কআপ. (হ্যাঁ, যারা এটি মিস করেছেন, তাদের কাছে স্ট্যান্ডার্ডটি <title>এম্পারস্যান্ডের হাতছাড়া হয়ে যায় এবং ব্রাউজারগুলি বাদ দিয়ে আমি সমস্ত লিখিত পাঠ্যকে আক্ষরিক পাঠ্য হিসাবে পরীক্ষা করেছি interpret

আমি দুটি উপায় সম্পর্কে ভাবতে পারি:

  1. সরাসরি একটি ম্যানুয়ালি-রক্ষণাবেক্ষণকৃত রেজেক্স ব্যবহার করুন যা ব্লকগুলির সাথে মেলে যেখানে ইউনিকোডের নতুন সংস্করণটি এর ইমোজি এবং তাদের সংশোধক রাখে।
  2. গ্রাফেমি ক্লাস্টারগুলির মাধ্যমে পরিবেশন করুন এবং স্বীকৃত ইমোজি কোডপয়েন্ট রয়েছে এমন যে কোনওটিকে বাতিল করুন । (একটি গ্রাফিম ক্লাস্টার একটি বেস গ্লিফের প্লাস সব ডায়াক্রিটিক এবং অন্যান্য সংশোধনকারীদের যা দৃশ্যমান চরিত্র আপ করতে tokenize করতে। ব্যবহারসমূহ পাইথন এর Regex ইঞ্জিন উদাহরণস্বরূপ আমি লিঙ্ক এবং তারপর emojiডাটাবেসের জন্য প্যাকেজ, কিন্তু মরচে একটি ভাষা একটি ভাল উদাহরণ যেখানে গ্রাফেম ক্লাস্টারগুলির পুনরাবৃত্তি ক্রেটের মতো দ্রুত এবং সহজ unicode-segmentation)

0

গুগল ক্রোম, ডেস্কটপ সংস্করণ 75, পৃষ্ঠাটি লোড করার সময় এটির মুখোমুখি হওয়া প্রথম ইউনিকোড পালানোর উপর ভিত্তি করে ইউনিকোড অক্ষরগুলির রেন্ডারিংয়ের জন্য তার পদ্ধতির প্রতিবন্ধকতা বোধ করছে। উদাহরণস্বরূপ, যখন কোনও পৃষ্ঠার উত্সে প্রথম এইচটিএমএল ইউনিকোড পলায়ন হিসাবে পার্স করা হয়েছে এবং ইমোজি সমতুল্য নেই, & # 9207; ক্রোমকে স্পষ্ট করে মনে হচ্ছে যে পৃষ্ঠাটিতে ইমোজি হিসাবে রেন্ডার করা হবে না বলে পালানো রয়েছে।


0

Ssokolow এর উত্তর উপর প্রসারিত , একটি ফিল্টার ব্যবহারের চমৎকার এবং অন্তত আপনি যখন কোনো নির্দিষ্ট রং ব্যবহার করতে চান খুব কঠিন contours এবং পরিবর্তে CSS ফিল্টার একটি ক্রম মধ্যে একটি সহজ ফন্ট একটি আরজিবি রঙ ব্যবহার করে, কিন্তু রূপান্তর দৃশ্যমান করে তোলে।

একটি ভাল (যদিও যথেষ্ট শব্দযুক্ত) বিকল্পটি ব্যবহার করা হয় <feColorMatrix>এসভিজি ফিল্টারটি । গ্রেস্কেল ফিল্টার এবং ডেটা ইউআরআই স্কিমের সাথে মিলিত, আপনি আরজিবি এবং ইন-লাইন সিএসএসের মাধ্যমে রঙটি উপস্থাপন করতে পারেন:

.violet {
  color: white;
  filter: grayscale(100%) url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><filter id='f'><feColorMatrix type='matrix' values='0.78 0 0 0 0  0 0.082 0 0 0  0 0 0.522 0 0  0 0 0 1 0'/></filter></svg>#f");
}

দুর্ভাগ্যক্রমে, আপনি ডেটা (বৈশিষ্ট্য বা ভেরিয়েবল থেকে নেওয়া) দিয়ে ইউআরএলকে ইন্টারপোলেট করতে পারবেন না, তবে কমপক্ষে আপনাকে আরজিবি থেকে সিএসএস ফিল্টারগুলি গণনা করতে হবে না।


-2

ইমোজি টাইপ রেন্ডারিং বন্ধ করার কোনও উপায় আমি জানি না। সাধারণত আমি আইকন ফন্ট যেমন ফন্ট দুর্দান্ত বা গ্লাইফিকন ব্যবহার করি (বুটস্ট্র্যাপ 3 সহ আসে)।

ইউনিকোড অক্ষরগুলির মধ্যে এটি ব্যবহারের সুবিধাটি হ'ল

  1. আপনি বিভিন্ন স্টাইল থেকে চয়ন করতে পারেন তাই এটি আপনার সাইটের ডিজাইনের সাথে খাপ খায়;
  2. তারা ব্রাউজার জুড়ে সামঞ্জস্যপূর্ণ (আপনি যদি কখনও ইউনিকোড তারকা চরিত্রটি করার চেষ্টা করে থাকেন তবে আপনি দেখতে পাবেন এটি অন্য বনাম অন্যান্য ব্রাউজারে আলাদা);
  3. এছাড়াও, আপনি যে ইউনিকোড অক্ষরগুলি ব্যবহার করার চেষ্টা করছেন তার মতো এগুলিও সম্পূর্ণ স্টাইলযোগ্য।

কেবলমাত্র খারাপ দিকটি হ'ল ব্রাউজার যখন আপনার পৃষ্ঠাটি দেখবে তখন ডাউনলোড করা এটির আরও একটি জিনিস।


-2

ওএসএক্সে আমার জন্য সমাধানটি হ'ল ফন্ট-পরিবারকে সেট করা EmojiSymbols


-3

উপরের কোনও সমাধান "গুগল ক্রোমের জন্য ইমোজি" এক্সটেনশনের জন্য কাজ করেনি।

সুতরাং কাজের হিসাবে আমি ইউনিকোড চরিত্রের 'বেলট বাক্স উইথ চেক' (ইউ + 2611) এর একটি স্ক্রিনশট তৈরি করেছি এবং এটি পিএইচপি সহ চিত্র হিসাবে যুক্ত করেছি:

 $ballotBoxWithCheck='<img src="pics/U2611.png" style="height:11px;margin-bottom:-1px">'; # &#9745; or /U2611

এখানে চিত্র বর্ণনা লিখুন

দেখুন: https://spacetrace.org/man_card.php?tec_id=21&techname=m Multi-emp-vessel


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