ஆங்கிலத்தில் பரவலான முதல் 1650 சொற்களுடைய அச்சிடத்தகு ஷேவியன் அகரமுதலி
Published by Arun Isaac on
In other languages: English
Tags: மென்பொருள், ஷேவியன்
நான் ஆங்கில மொழிக்கு ஷேவியன் வரிவடிவம்1 கற்க விரும்புகிறேன். ஆனால் நல்ல தாள் நூல் வடிவ அகரமுதலி இல்லை. கணினியிலிருந்து விலகியிருந்து எழுத முயலும்போது கணினிக்கு ஓடியோடி அகரமுதலியைக் காண்பது வேலைக்காகாது. அதனால் ஆங்கிலத்தில் பரவலான முதல் 16502 சொற்களுடைய இந்த அச்சிடத்தகு ஷேவியன் அகரமுதலியை உருவாக்கினேன்.
கிங்ஸ்லி இரீட் அகரமுதலி3 பயன்படுத்தி இயூனிக்ஸ் வாய் மொழிகள் பொழிந்து இந்த ஷேவியன் அகரமுதலியை உருவாக்கினேன். உரைநிரல் கீழ்க்காண்க.
wget https://github.com/Shavian-info/readlex/raw/refs/heads/main/kingsleyreadlexicon.tsv
# வரிகளின் எண்ணிக்கை (நமக்கு 1650) fold.awk யில் குறிப்பிடப்பட்டுள்ள விதிக்குக்
# கட்டுப்பட்டிருக்க வேண்டும்.
# ஒரே எழுத்தாக்கமுடையச் சொற்களைச் சேர், சொல் நிகழ்வெண்படி வரிசைப்படுத்து, முதல்
# 1650 சொற்களை மட்டும் எடு, இலத்தீன் எழுத்தாக்கத்தையும் ஷேவியன் எழுத்தாக்கத்தையும்
# மட்டும் பெயர்த்தெடு, அகரவரிசைப்படுத்து, இறுதியில் நிரல்களை அச்சிடத்தக்க "மடி".
awk -f collapse.awk kingsleyreadlexicon.tsv | \
sort -nrk 3,3 | head -n1650 \
| cut -f1,2 | sort -k 1,1 \
| awk -f fold.awk > shavian-1650.tsv
இதில் குறிப்பிடப்பட்டுள்ள collapse.awk கீழுள்ளது.
BEGIN {
OFS = "\t"
}
{
latin = $1
shavian = $2
frequency = $5
}
NR == 1 {
# நிலைச் சேமி. வேறு எதுவும் செய்யற்க.
previous_latin = latin
previous_shavian = shavian
accumulated_frequency = frequency
}
NR > 1 {
# வேறுச் சொல்லாயின் வெளியிட்டு நிகழ்வெண் சேமிப்பை அழி.
if ((latin != previous_latin) || (shavian != previous_shavian)) {
print previous_latin, previous_shavian, accumulated_frequency
accumulated_frequency = 0
}
# நிலைச் சேமி.
accumulated_frequency += frequency
previous_latin = latin
previous_shavian = shavian
}
END {
# இதுத் தான் இறுதி வரி; வரியை வெளியிடு.
print previous_latin, previous_shavian, accumulated_frequency
}
fold.awk கீழுள்ளது.
# இந்த உரைநிரல் வரிகளின் எண்ணிக்கை lines_per_page * sections_per_page யின்
# பெருக்கமாகயிருப்பின் மட்டுமே சரியாக வேலை செய்யும். இது பக்கங்கள் முழுமையாக
# நிறைந்து வெற்றிடமில்லா நிலை.
BEGIN {
lines_per_page = 55;
sections_per_page = 3;
}
# வரிகளை அணியில் அடக்கு.
{
page_line = (NR - 1) % (lines_per_page * sections_per_page)
lines[page_line % lines_per_page, int(page_line / lines_per_page)] = $0
}
# பக்கம் முடிந்ததும் சேர்த்த அணியைக் கொட்டு. பின், அடுத்தப் பக்கத்தை உருவாக்க அணியை
# அழி.
(page_line == lines_per_page*sections_per_page - 1) {
for (i=0; i<lines_per_page; i++) {
for (j=0; j<sections_per_page; j++) {
printf (j == 0) ? "%s" : "\t%s", lines[i, j]
delete lines[i, j]
}
printf "\n"
}
}
இறுதியில், shavian-1650.tsv கோப்பை LibreOffice Calc கொண்டு அச்சிட்டேன். நிரல்களை அணிசேர்க்க அது உதவியது.
இதைப் போன்று, Omniglot வழங்கும் ஷேவியன் எழுத்து அட்டவணை ஒன்றுமுள்ளது.
30 மார்ச், 2025 திருத்தம்: ஃபெடிவேர்ஸில் கிடைத்த அறிவுரையின் படி, ஒரே எழுத்தாக்கமுடையச் சொற்களைச் சேர்க்க collapse.awk அமைத்துள்ளேன்.
Footnotes:
இப்பாதையில் செல்ல சில ஆண்டுகள் முன் என்னைத் தூண்டிய indieterminacyக்கு நன்றி.
ஏன் 1650? 1000த்திற்கு மேல் வேண்டுமென்று நினைத்தேன்; 1650 சொற்கள் 10 பக்கங்களில் சரியாக அமர்ந்தன.
கிங்ஸ்லி இரீட் அகரமுதலியும், அதனால் என் அச்சிடத்தகு அகரமுதலியும், shavian.info வின் காப்புரிமை; அவர் அதை Creative Commons Attribution-ShareAlike 4.0 International உரிமத்தின் கீழ் வழங்குகின்றனர்.