たつをの ChangeLog : 2022-01-25

「1月」〜「12月」、「1日」〜「31日」が1文字文の全角幅で表示できるUnicode文字。
幅固定なのでレイアウトの細かい調整がなくて良い。

%E3%8B%80 (12992)%E3%8B%8B (13003)
%E3%8F%A0 (13280)%E3%8F%BE (13310)

例1:

(日付部分テンプレ、中心寄せが難しいケース、等幅便利)

例2:
(カレンダーは㉛などの囲み数字も使えるけど囲みはいらない……)

月(1-12)、日(1-31)を入力として月日文字を出す Perl での簡単な方法:
pack("U", 12991 + $month)
pack("U", 13279 + $day_of_month)

サンプルプログラム:
#!/usr/bin/env perl
# -*- coding: utf-8 -*-
use strict;
use warnings;
use utf8;
binmode STDOUT, ":utf8";
print join(",", "㋀", ord("㋀"), "㏠", ord("㏠"))."\n";
print join(",", map {"$_:".pack("U", 12991 + $_)} (1..12))."\n";
print join(",", map {"$_:".pack("U", 13279 + $_)} (1..31))."\n";

出力結果:
㋀,12992,㏠,13280
1:㋀,2:㋁,3:㋂,4:㋃,5:㋄,6:㋅,7:㋆,8:㋇,9:㋈,10:㋉,11:㋊,12:㋋
1:㏠,2:㏡,3:㏢,4:㏣,5:㏤,6:㏥,7:㏦,8:㏧,9:㏨,10:㏩,11:㏪,12:㏫,13:㏬,14:㏭,15:㏮,16:㏯,17:㏰,18:㏱,19:㏲,20:㏳,21:㏴,22:㏵,23:㏶,24:㏷,25:㏸,26:㏹,27:㏺,28:㏻,29:㏼,30:㏽,31:㏾

追記: 月・日・曜日
perl -C -Mutf8 -le '$month=3;$day=11;$dow=5;print pack("U*",12991+$month,13279+$day,12842+($dow-1)%7)'
㋂㏪㈮

ついでに囲み数字も。50まである。
1〜20, 21〜35, 36〜50 で分割されている。

1〜20%E2%91%A0 (9312)%E2%91%B3 (9331)
21〜35%E3%89%91 (12881)%E3%89%9F (12895)
36〜50%E3%8A%B1 (12977)%E3%8A%BF (12991)

1から20までなら:
pack("U", 9311 + $_)
1から50までなら:
pack("U", $_ + ($_ < 21 ? 9311 : $_ < 36 ? 12860 : 12941))

参考


たつをの ChangeLog
Powered by chalow