From 480addfde1e645a21e1436f85a4f55f9d7cb1da0 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 12 Jan 2026 10:25:03 +0900 Subject: [PATCH] Update era.t with 2026 --- ibus-anthy-HEAD.patch | 817 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 817 insertions(+) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index c407955..c8c77b8 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -548,3 +548,820 @@ index 05836a6..3ab99b2 100644 -- 2.52.0 +From 296cd6b8e4e79964b4956953707b315c3dc010da Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Mon, 12 Jan 2026 09:49:48 +0900 +Subject: [PATCH] data: Update era.t with 2026 + +Added era.py to update the Era automatically. +--- + data/Makefile.am | 33 +++- + data/era.py | 196 +++++++++++++++++++ + data/era.t | 5 +- + data/era.t.in | 491 +++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 716 insertions(+), 9 deletions(-) + create mode 100755 data/era.py + create mode 100644 data/era.t.in + +diff --git a/data/Makefile.am b/data/Makefile.am +index d76f17a..c13d273 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -2,7 +2,7 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2010-2021 Takao Fujiwara ++# Copyright (c) 2010-2026 Takao Fujiwara + # Copyright (c) 2010-2018 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -19,6 +19,8 @@ + # with this program; if not, write to the Free Software Foundation, Inc., + # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + ++noinst_DATA = era.stamp ++ + dicts_DATA = \ + emoji.t \ + era.t \ +@@ -43,6 +45,7 @@ CLEANFILES = \ + $(metainfo_DATA) \ + $(schemas_DATA) \ + emoji.t \ ++ era.stamp \ + $(NULL) + + $(metainfo_DATA): $(metainfo_in_files) Makefile +@@ -79,14 +82,26 @@ zipcode.t: $(ANTHY_ZIPCODE_FILE) + CLEANFILES += zipcode.t + endif + ++era.t: era.stamp ++ ++era.stamp: ++ if test -f $(srcdir)/era.t ; then \ ++ if ! $(srcdir)/era.py --check $(srcdir)/era.t ; then \ ++ rm $(srcdir)/era.t; \ ++ $(srcdir)/era.py $(srcdir)/era.t.in \ ++ --output $(builddir)/era.t; \ ++ echo "Generate era.t"; \ ++ fi; \ ++ fi; \ ++ touch era.stampT; \ ++ mv era.stampT era.stamp; ++ + check: +- S_YEAR=`date '+%Y'`; \ +- M_YEAR=`echo $$S_YEAR | sed 'y/0123456789/0123456789/'`; \ +- grep -q $$M_YEAR $(srcdir)/era.t; \ +- if test $$? -ne 0 ; then \ +- echo "This year $$M_YEAR is not included in era.y"; \ +- exit 1; \ +- fi; ++ if test -f $(srcdir)/era.t ; then \ ++ $(srcdir)/era.py --check $(srcdir)/era.t; \ ++ else \ ++ $(srcdir)/era.py --check $(builddir)/era.t; \ ++ fi + + install-data-hook: + if test -z "$(DESTDIR)"; then \ +@@ -106,6 +121,8 @@ EXTRA_DIST = \ + emoji-each.t \ + emoji-emoji.t \ + era.t \ ++ era.t.in \ ++ era.py \ + oldchar.t \ + symbol.t \ + zipcode-textdic.py \ +diff --git a/data/era.py b/data/era.py +new file mode 100755 +index 0000000..85eb55b +--- /dev/null ++++ b/data/era.py +@@ -0,0 +1,196 @@ ++#!/usr/bin/python3 ++# vim:set et sts=4 sw=4: ++# -*- coding: utf-8 -*- ++# ++# ibus-anthy - The Anthy engine for IBus ++# ++# Copyright (c) 2026 Takao Fujiwara ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program; if not, write to the Free Software Foundation, Inc., ++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ ++from datetime import date ++from os import path ++import getopt ++import locale ++import re ++import sys ++ ++ ++_prgname = "" ++ ++class JapaneseEra(object): ++ VERSION = 1 ++ ERA_FIRST = 2019 ++ HIRAGANA_ERA = 'れいわ' ++ KANJI_ERA = '令和' ++ KANJI_ERA_PREV = '平成' ++ __S_YEAR = 0 ++ __M_YEAR = '' ++ __narrow_to_wide_map = None ++ _check = False ++ _output_file = None ++ _parse_file = None ++ _parse_contents = None ++ ++ def __init__(self): ++ if self._parse_file == None: ++ print("%s.parse_args() should be called before the instance " ++ "is generated." % str(self), file=sys.stderr) ++ sys.exit(1) ++ self.__narrow_to_wide_map = str.maketrans('0123456789', ++ '0123456789') ++ self.__S_YEAR = date.today().year ++ self.__M_YEAR = str(self.__S_YEAR).translate(self.__narrow_to_wide_map) ++ parse_file = open(self._parse_file) ++ self._parse_contents = parse_file.read() ++ parse_file.close() ++ ++ ++ ++ @classmethod ++ def parse_args(cls)->None: ++ ++ shortopt = 'cho:v' ++ longopt = ['check', 'help', 'output=', 'version'] ++ ++ try: ++ opts, args = getopt.gnu_getopt(sys.argv[1:], shortopt, longopt) ++ except getopt.GetoptError as err: ++ cls.print_help(sys.stderr, 1) ++ ++ for o, a in opts: ++ if o in ('-h', '--help'): ++ cls.print_help(sys.stdout) ++ elif o in ('-c', '--check'): ++ cls._check = True ++ elif o in ('-o', '--output'): ++ cls._output_file = a ++ elif o in ('-v', '--version'): ++ print("%s Version %d" % (_prgname, cls.VERSION)) ++ sys.exit(0) ++ else: ++ print('Unknown argument: %s' % o, file=sys.stderr) ++ cls.print_help(sys.stderr, 1) ++ ++ if len(args) == 0: ++ cls.print_help(sys.stderr, 1) ++ cls._parse_file = args[0] ++ ++ ++ @staticmethod ++ def print_help(out, v=0)->None: ++ print("%s [OPTIONS...] ERA_FILE" % _prgname, file=out) ++ print("This replaces @HIRAGANA_TO_LATEST_ERA@ with latest Japanese Era " ++ "in ERA_FILE", ++ file=out) ++ print('OPTIONS', file=out) ++ print('-c, --check Check if the latest Japanese Era in ERA_FILE.', ++ file=out) ++ print('-h, --help Show this message.', file=out) ++ print('-v, --version Show version.', file=out) ++ sys.exit(v) ++ ++ ++ def run(self)->None: ++ if self._check: ++ self.check() ++ else: ++ self.update_file_with_keywords() ++ ++ ++ def check(self)->None: ++ if self._parse_contents == None: ++ assert() ++ pat = r'{}.*'.format(self.__M_YEAR) ++ res = re.findall(pat, self._parse_contents, re.MULTILINE) ++ if res: ++ print(res) ++ else: ++ print("This year {0} is not included in {1}".format( ++ self.__M_YEAR, self._parse_file), file=sys.stderr) ++ sys.exit(1) ++ ++ def update_file_with_keywords(self)->None: ++ if self._parse_contents == None: ++ assert() ++ HIRAGANA_TO_LATEST_ERA = '' ++ YEAR_TO_LATEST_ERA = '' ++ s_n = 1 ++ s_y = self.ERA_FIRST ++ while(s_y <= self.__S_YEAR): ++ m_n = str(s_n).translate(self.__narrow_to_wide_map) ++ m_y = str(s_y).translate(self.__narrow_to_wide_map) ++ HIRAGANA_TO_LATEST_ERA = \ ++"""{0}{1}{2} #T35*500 {3}{4} ++{5}{6} #T35*500 {7} ++""".format(HIRAGANA_TO_LATEST_ERA, ++ self.HIRAGANA_ERA, m_n, ++ self.KANJI_ERA, s_n, ++ self.HIRAGANA_ERA, m_n, ++ s_y) ++ YEAR_TO_LATEST_ERA = \ ++"""{0}{1} #T35*500 {2}{3} ++""".format(YEAR_TO_LATEST_ERA, ++ m_y, ++ self.KANJI_ERA, s_n) ++ s_n = s_n + 1 ++ s_y = s_y + 1 ++ HIRAGANA_TO_LATEST_ERA = HIRAGANA_TO_LATEST_ERA.strip() ++ YEAR_TO_LATEST_ERA = YEAR_TO_LATEST_ERA.strip() ++ tmp = self._parse_contents.replace( ++ '@HIRAGANA_TO_REIWA@', ++ HIRAGANA_TO_LATEST_ERA).replace( ++ '@YEAR_TO_REIWA@', ++ YEAR_TO_LATEST_ERA) ++ s_y = self.ERA_FIRST ++ m_y = str(s_y).translate(self.__narrow_to_wide_map) ++ pat = r'({0} #T35\*500 {1}[0-9]+)\n({2} #T35\*500 {3}1)'.format( ++ m_y, self.KANJI_ERA_PREV, m_y, self.KANJI_ERA) ++ # The lest Era should be first. ++ res = re.sub(pat, r'\2\n\1', tmp) ++ if res: ++ if self._output_file: ++ f = open(self._output_file, mode='w') ++ f.write(res) ++ f.flush() ++ f.close() ++ else: ++ print(res) ++ else: ++ print('Failed to find %s in %s' % (pat, self._parse_file), ++ file=sys.stderr) ++ if self._output_file: ++ f = open(self._output_file, mode='w') ++ f.write(tmp) ++ f.flush() ++ f.close() ++ else: ++ print(tmp) ++ ++ ++def main()->None: ++ try: ++ locale.setlocale(locale.LC_ALL, '') ++ except: ++ pass ++ global _prgname ++ _prgname = path.basename(sys.argv[0]) ++ JapaneseEra.parse_args() ++ era = JapaneseEra() ++ era.run() ++ ++ ++if __name__ == '__main__': ++ main() +diff --git a/data/era.t b/data/era.t +index 76a374c..1c07e58 100644 +--- a/data/era.t ++++ b/data/era.t +@@ -2,7 +2,7 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2010-2025 Takao Fujiwara ++# Copyright (c) 2010-2026 Takao Fujiwara + # Copyright (c) 2010-2013 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -346,6 +346,8 @@ + れいわ6 #T35*500 2024 + れいわ7 #T35*500 令和7 + れいわ7 #T35*500 2025 ++れいわ8 #T35*500 令和8 ++れいわ8 #T35*500 2026 + 1868 #T35*500 明治1 + 1869 #T35*500 明治2 + 1870 #T35*500 明治3 +@@ -508,3 +510,4 @@ + 2023 #T35*500 令和5 + 2024 #T35*500 令和6 + 2025 #T35*500 令和7 ++2026 #T35*500 令和8 +diff --git a/data/era.t.in b/data/era.t.in +new file mode 100644 +index 0000000..4881ec2 +--- /dev/null ++++ b/data/era.t.in +@@ -0,0 +1,491 @@ ++# vim:set noet ts=4: ++# ++# ibus-anthy - The Anthy engine for IBus ++# ++# Copyright (c) 2010-2026 Takao Fujiwara ++# Copyright (c) 2010-2013 Red Hat, Inc. ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program; if not, write to the Free Software Foundation, Inc., ++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++# ++# This file was imported from im-dict-ja ++# im-dict-ja - Japanese word dictionary set for input method ++# http://github.com/fujiwarat/im-dict-ja ++しょうわ1 #T35*500 昭和1 ++しょうわ1 #T35*500 1926 ++しょうわ10 #T35*500 昭和10 ++しょうわ10 #T35*500 1935 ++しょうわ11 #T35*500 昭和11 ++しょうわ11 #T35*500 1936 ++しょうわ12 #T35*500 昭和12 ++しょうわ12 #T35*500 1937 ++しょうわ13 #T35*500 昭和13 ++しょうわ13 #T35*500 1938 ++しょうわ14 #T35*500 昭和14 ++しょうわ14 #T35*500 1939 ++しょうわ15 #T35*500 昭和15 ++しょうわ15 #T35*500 1940 ++しょうわ16 #T35*500 昭和16 ++しょうわ16 #T35*500 1941 ++しょうわ17 #T35*500 昭和17 ++しょうわ17 #T35*500 1942 ++しょうわ18 #T35*500 昭和18 ++しょうわ18 #T35*500 1943 ++しょうわ19 #T35*500 昭和19 ++しょうわ19 #T35*500 1944 ++しょうわ2 #T35*500 昭和2 ++しょうわ2 #T35*500 1927 ++しょうわ20 #T35*500 昭和20 ++しょうわ20 #T35*500 1945 ++しょうわ21 #T35*500 昭和21 ++しょうわ21 #T35*500 1946 ++しょうわ22 #T35*500 昭和22 ++しょうわ22 #T35*500 1947 ++しょうわ23 #T35*500 昭和23 ++しょうわ23 #T35*500 1948 ++しょうわ24 #T35*500 昭和24 ++しょうわ24 #T35*500 1949 ++しょうわ25 #T35*500 昭和25 ++しょうわ25 #T35*500 1950 ++しょうわ26 #T35*500 昭和26 ++しょうわ26 #T35*500 1951 ++しょうわ27 #T35*500 昭和27 ++しょうわ27 #T35*500 1952 ++しょうわ28 #T35*500 昭和28 ++しょうわ28 #T35*500 1953 ++しょうわ29 #T35*500 昭和29 ++しょうわ29 #T35*500 1954 ++しょうわ3 #T35*500 昭和3 ++しょうわ3 #T35*500 1928 ++しょうわ30 #T35*500 昭和30 ++しょうわ30 #T35*500 1955 ++しょうわ31 #T35*500 昭和31 ++しょうわ31 #T35*500 1956 ++しょうわ32 #T35*500 昭和32 ++しょうわ32 #T35*500 1957 ++しょうわ33 #T35*500 昭和33 ++しょうわ33 #T35*500 1958 ++しょうわ34 #T35*500 昭和34 ++しょうわ34 #T35*500 1959 ++しょうわ35 #T35*500 昭和35 ++しょうわ35 #T35*500 1960 ++しょうわ36 #T35*500 昭和36 ++しょうわ36 #T35*500 1961 ++しょうわ37 #T35*500 昭和37 ++しょうわ37 #T35*500 1962 ++しょうわ38 #T35*500 昭和38 ++しょうわ38 #T35*500 1963 ++しょうわ39 #T35*500 昭和39 ++しょうわ39 #T35*500 1964 ++しょうわ4 #T35*500 昭和4 ++しょうわ4 #T35*500 1929 ++しょうわ40 #T35*500 昭和40 ++しょうわ40 #T35*500 1965 ++しょうわ41 #T35*500 昭和41 ++しょうわ41 #T35*500 1966 ++しょうわ42 #T35*500 昭和42 ++しょうわ42 #T35*500 1967 ++しょうわ43 #T35*500 昭和43 ++しょうわ43 #T35*500 1968 ++しょうわ44 #T35*500 昭和44 ++しょうわ44 #T35*500 1969 ++しょうわ45 #T35*500 昭和45 ++しょうわ45 #T35*500 1970 ++しょうわ46 #T35*500 昭和46 ++しょうわ46 #T35*500 1971 ++しょうわ47 #T35*500 昭和47 ++しょうわ47 #T35*500 1972 ++しょうわ48 #T35*500 昭和48 ++しょうわ48 #T35*500 1973 ++しょうわ49 #T35*500 昭和49 ++しょうわ49 #T35*500 1974 ++しょうわ5 #T35*500 昭和5 ++しょうわ5 #T35*500 1930 ++しょうわ50 #T35*500 昭和50 ++しょうわ50 #T35*500 1975 ++しょうわ51 #T35*500 昭和51 ++しょうわ51 #T35*500 1976 ++しょうわ52 #T35*500 昭和52 ++しょうわ52 #T35*500 1977 ++しょうわ53 #T35*500 昭和53 ++しょうわ53 #T35*500 1978 ++しょうわ54 #T35*500 昭和54 ++しょうわ54 #T35*500 1979 ++しょうわ55 #T35*500 昭和55 ++しょうわ55 #T35*500 1980 ++しょうわ56 #T35*500 昭和56 ++しょうわ56 #T35*500 1981 ++しょうわ57 #T35*500 昭和57 ++しょうわ57 #T35*500 1982 ++しょうわ58 #T35*500 昭和58 ++しょうわ58 #T35*500 1983 ++しょうわ59 #T35*500 昭和59 ++しょうわ59 #T35*500 1984 ++しょうわ6 #T35*500 昭和6 ++しょうわ6 #T35*500 1931 ++しょうわ60 #T35*500 昭和60 ++しょうわ60 #T35*500 1985 ++しょうわ61 #T35*500 昭和61 ++しょうわ61 #T35*500 1986 ++しょうわ62 #T35*500 昭和62 ++しょうわ62 #T35*500 1987 ++しょうわ63 #T35*500 昭和63 ++しょうわ63 #T35*500 1988 ++しょうわ64 #T35*500 昭和64 ++しょうわ64 #T35*500 1989 ++しょうわ7 #T35*500 昭和7 ++しょうわ7 #T35*500 1932 ++しょうわ8 #T35*500 昭和8 ++しょうわ8 #T35*500 1933 ++しょうわ9 #T35*500 昭和9 ++しょうわ9 #T35*500 1934 ++たいしょう1 #T35*500 大正1 ++たいしょう1 #T35*500 1912 ++たいしょう10 #T35*500 大正10 ++たいしょう10 #T35*500 1921 ++たいしょう11 #T35*500 大正11 ++たいしょう11 #T35*500 1922 ++たいしょう12 #T35*500 大正12 ++たいしょう12 #T35*500 1923 ++たいしょう13 #T35*500 大正13 ++たいしょう13 #T35*500 1924 ++たいしょう14 #T35*500 大正14 ++たいしょう14 #T35*500 1925 ++たいしょう15 #T35*500 大正15 ++たいしょう15 #T35*500 1926 ++たいしょう2 #T35*500 大正2 ++たいしょう2 #T35*500 1913 ++たいしょう3 #T35*500 大正3 ++たいしょう3 #T35*500 1914 ++たいしょう4 #T35*500 大正4 ++たいしょう4 #T35*500 1915 ++たいしょう5 #T35*500 大正5 ++たいしょう5 #T35*500 1916 ++たいしょう6 #T35*500 大正6 ++たいしょう6 #T35*500 1917 ++たいしょう7 #T35*500 大正7 ++たいしょう7 #T35*500 1918 ++たいしょう8 #T35*500 大正8 ++たいしょう8 #T35*500 1919 ++たいしょう9 #T35*500 大正9 ++たいしょう9 #T35*500 1920 ++へいせい1 #T35*500 平成1 ++へいせい1 #T35*500 1989 ++へいせい10 #T35*500 平成10 ++へいせい10 #T35*500 1998 ++へいせい11 #T35*500 平成11 ++へいせい11 #T35*500 1999 ++へいせい12 #T35*500 平成12 ++へいせい12 #T35*500 2000 ++へいせい13 #T35*500 平成13 ++へいせい13 #T35*500 2001 ++へいせい14 #T35*500 平成14 ++へいせい14 #T35*500 2002 ++へいせい15 #T35*500 平成15 ++へいせい15 #T35*500 2003 ++へいせい16 #T35*500 平成16 ++へいせい16 #T35*500 2004 ++へいせい17 #T35*500 平成17 ++へいせい17 #T35*500 2005 ++へいせい18 #T35*500 平成18 ++へいせい18 #T35*500 2006 ++へいせい19 #T35*500 平成19 ++へいせい19 #T35*500 2007 ++へいせい2 #T35*500 平成2 ++へいせい2 #T35*500 1990 ++へいせい20 #T35*500 平成20 ++へいせい20 #T35*500 2008 ++へいせい21 #T35*500 平成21 ++へいせい21 #T35*500 2009 ++へいせい22 #T35*500 平成22 ++へいせい22 #T35*500 2010 ++へいせい23 #T35*500 平成23 ++へいせい23 #T35*500 2011 ++へいせい24 #T35*500 平成24 ++へいせい24 #T35*500 2012 ++へいせい25 #T35*500 平成25 ++へいせい25 #T35*500 2013 ++へいせい26 #T35*500 平成26 ++へいせい26 #T35*500 2014 ++へいせい27 #T35*500 平成27 ++へいせい27 #T35*500 2015 ++へいせい28 #T35*500 平成28 ++へいせい28 #T35*500 2016 ++へいせい29 #T35*500 平成29 ++へいせい29 #T35*500 2017 ++へいせい3 #T35*500 平成3 ++へいせい3 #T35*500 1991 ++へいせい30 #T35*500 平成30 ++へいせい30 #T35*500 2018 ++へいせい31 #T35*500 平成31 ++へいせい31 #T35*500 2019 ++へいせい4 #T35*500 平成4 ++へいせい4 #T35*500 1992 ++へいせい5 #T35*500 平成5 ++へいせい5 #T35*500 1993 ++へいせい6 #T35*500 平成6 ++へいせい6 #T35*500 1994 ++へいせい7 #T35*500 平成7 ++へいせい7 #T35*500 1995 ++へいせい8 #T35*500 平成8 ++へいせい8 #T35*500 1996 ++へいせい9 #T35*500 平成9 ++へいせい9 #T35*500 1997 ++めいじ1 #T35*500 明治1 ++めいじ1 #T35*500 1868 ++めいじ10 #T35*500 明治10 ++めいじ10 #T35*500 1877 ++めいじ11 #T35*500 明治11 ++めいじ11 #T35*500 1878 ++めいじ12 #T35*500 明治12 ++めいじ12 #T35*500 1879 ++めいじ13 #T35*500 明治13 ++めいじ13 #T35*500 1880 ++めいじ14 #T35*500 明治14 ++めいじ14 #T35*500 1881 ++めいじ15 #T35*500 明治15 ++めいじ15 #T35*500 1882 ++めいじ16 #T35*500 明治16 ++めいじ16 #T35*500 1883 ++めいじ17 #T35*500 明治17 ++めいじ17 #T35*500 1884 ++めいじ18 #T35*500 明治18 ++めいじ18 #T35*500 1885 ++めいじ19 #T35*500 明治19 ++めいじ19 #T35*500 1886 ++めいじ2 #T35*500 明治2 ++めいじ2 #T35*500 1869 ++めいじ20 #T35*500 明治20 ++めいじ20 #T35*500 1887 ++めいじ21 #T35*500 明治21 ++めいじ21 #T35*500 1888 ++めいじ22 #T35*500 明治22 ++めいじ22 #T35*500 1889 ++めいじ23 #T35*500 明治23 ++めいじ23 #T35*500 1890 ++めいじ24 #T35*500 明治24 ++めいじ24 #T35*500 1891 ++めいじ25 #T35*500 明治25 ++めいじ25 #T35*500 1892 ++めいじ26 #T35*500 明治26 ++めいじ26 #T35*500 1893 ++めいじ27 #T35*500 明治27 ++めいじ27 #T35*500 1894 ++めいじ28 #T35*500 明治28 ++めいじ28 #T35*500 1895 ++めいじ29 #T35*500 明治29 ++めいじ29 #T35*500 1896 ++めいじ3 #T35*500 明治3 ++めいじ3 #T35*500 1870 ++めいじ30 #T35*500 明治30 ++めいじ30 #T35*500 1897 ++めいじ31 #T35*500 明治31 ++めいじ31 #T35*500 1898 ++めいじ32 #T35*500 明治32 ++めいじ32 #T35*500 1899 ++めいじ33 #T35*500 明治33 ++めいじ33 #T35*500 1900 ++めいじ34 #T35*500 明治34 ++めいじ34 #T35*500 1901 ++めいじ35 #T35*500 明治35 ++めいじ35 #T35*500 1902 ++めいじ36 #T35*500 明治36 ++めいじ36 #T35*500 1903 ++めいじ37 #T35*500 明治37 ++めいじ37 #T35*500 1904 ++めいじ38 #T35*500 明治38 ++めいじ38 #T35*500 1905 ++めいじ39 #T35*500 明治39 ++めいじ39 #T35*500 1906 ++めいじ4 #T35*500 明治4 ++めいじ4 #T35*500 1871 ++めいじ40 #T35*500 明治40 ++めいじ40 #T35*500 1907 ++めいじ41 #T35*500 明治41 ++めいじ41 #T35*500 1908 ++めいじ42 #T35*500 明治42 ++めいじ42 #T35*500 1909 ++めいじ43 #T35*500 明治43 ++めいじ43 #T35*500 1910 ++めいじ44 #T35*500 明治44 ++めいじ44 #T35*500 1911 ++めいじ45 #T35*500 明治45 ++めいじ45 #T35*500 1912 ++めいじ5 #T35*500 明治5 ++めいじ5 #T35*500 1872 ++めいじ6 #T35*500 明治6 ++めいじ6 #T35*500 1873 ++めいじ7 #T35*500 明治7 ++めいじ7 #T35*500 1874 ++めいじ8 #T35*500 明治8 ++めいじ8 #T35*500 1875 ++めいじ9 #T35*500 明治9 ++めいじ9 #T35*500 1876 ++@HIRAGANA_TO_REIWA@ ++1868 #T35*500 明治1 ++1869 #T35*500 明治2 ++1870 #T35*500 明治3 ++1871 #T35*500 明治4 ++1872 #T35*500 明治5 ++1873 #T35*500 明治6 ++1874 #T35*500 明治7 ++1875 #T35*500 明治8 ++1876 #T35*500 明治9 ++1877 #T35*500 明治10 ++1878 #T35*500 明治11 ++1879 #T35*500 明治12 ++1880 #T35*500 明治13 ++1881 #T35*500 明治14 ++1882 #T35*500 明治15 ++1883 #T35*500 明治16 ++1884 #T35*500 明治17 ++1885 #T35*500 明治18 ++1886 #T35*500 明治19 ++1887 #T35*500 明治20 ++1888 #T35*500 明治21 ++1889 #T35*500 明治22 ++1890 #T35*500 明治23 ++1891 #T35*500 明治24 ++1892 #T35*500 明治25 ++1893 #T35*500 明治26 ++1894 #T35*500 明治27 ++1895 #T35*500 明治28 ++1896 #T35*500 明治29 ++1897 #T35*500 明治30 ++1898 #T35*500 明治31 ++1899 #T35*500 明治32 ++1900 #T35*500 明治33 ++1901 #T35*500 明治34 ++1902 #T35*500 明治35 ++1903 #T35*500 明治36 ++1904 #T35*500 明治37 ++1905 #T35*500 明治38 ++1906 #T35*500 明治39 ++1907 #T35*500 明治40 ++1908 #T35*500 明治41 ++1909 #T35*500 明治42 ++1910 #T35*500 明治43 ++1911 #T35*500 明治44 ++1912 #T35*500 大正1 ++1912 #T35*500 明治45 ++1913 #T35*500 大正2 ++1914 #T35*500 大正3 ++1915 #T35*500 大正4 ++1916 #T35*500 大正5 ++1917 #T35*500 大正6 ++1918 #T35*500 大正7 ++1919 #T35*500 大正8 ++1920 #T35*500 大正9 ++1921 #T35*500 大正10 ++1922 #T35*500 大正11 ++1923 #T35*500 大正12 ++1924 #T35*500 大正13 ++1925 #T35*500 大正14 ++1926 #T35*500 昭和1 ++1926 #T35*500 大正15 ++1927 #T35*500 昭和2 ++1928 #T35*500 昭和3 ++1929 #T35*500 昭和4 ++1930 #T35*500 昭和5 ++1931 #T35*500 昭和6 ++1932 #T35*500 昭和7 ++1933 #T35*500 昭和8 ++1934 #T35*500 昭和9 ++1935 #T35*500 昭和10 ++1936 #T35*500 昭和11 ++1937 #T35*500 昭和12 ++1938 #T35*500 昭和13 ++1939 #T35*500 昭和14 ++1940 #T35*500 昭和15 ++1941 #T35*500 昭和16 ++1942 #T35*500 昭和17 ++1943 #T35*500 昭和18 ++1944 #T35*500 昭和19 ++1945 #T35*500 昭和20 ++1946 #T35*500 昭和21 ++1947 #T35*500 昭和22 ++1948 #T35*500 昭和23 ++1949 #T35*500 昭和24 ++1950 #T35*500 昭和25 ++1951 #T35*500 昭和26 ++1952 #T35*500 昭和27 ++1953 #T35*500 昭和28 ++1954 #T35*500 昭和29 ++1955 #T35*500 昭和30 ++1956 #T35*500 昭和31 ++1957 #T35*500 昭和32 ++1958 #T35*500 昭和33 ++1959 #T35*500 昭和34 ++1960 #T35*500 昭和35 ++1961 #T35*500 昭和36 ++1962 #T35*500 昭和37 ++1963 #T35*500 昭和38 ++1964 #T35*500 昭和39 ++1965 #T35*500 昭和40 ++1966 #T35*500 昭和41 ++1967 #T35*500 昭和42 ++1968 #T35*500 昭和43 ++1969 #T35*500 昭和44 ++1970 #T35*500 昭和45 ++1971 #T35*500 昭和46 ++1972 #T35*500 昭和47 ++1973 #T35*500 昭和48 ++1974 #T35*500 昭和49 ++1975 #T35*500 昭和50 ++1976 #T35*500 昭和51 ++1977 #T35*500 昭和52 ++1978 #T35*500 昭和53 ++1979 #T35*500 昭和54 ++1980 #T35*500 昭和55 ++1981 #T35*500 昭和56 ++1982 #T35*500 昭和57 ++1983 #T35*500 昭和58 ++1984 #T35*500 昭和59 ++1985 #T35*500 昭和60 ++1986 #T35*500 昭和61 ++1987 #T35*500 昭和62 ++1988 #T35*500 昭和63 ++1989 #T35*500 平成1 ++1989 #T35*500 昭和64 ++1990 #T35*500 平成2 ++1991 #T35*500 平成3 ++1992 #T35*500 平成4 ++1993 #T35*500 平成5 ++1994 #T35*500 平成6 ++1995 #T35*500 平成7 ++1996 #T35*500 平成8 ++1997 #T35*500 平成9 ++1998 #T35*500 平成10 ++1999 #T35*500 平成11 ++2000 #T35*500 平成12 ++2001 #T35*500 平成13 ++2002 #T35*500 平成14 ++2003 #T35*500 平成15 ++2004 #T35*500 平成16 ++2005 #T35*500 平成17 ++2006 #T35*500 平成18 ++2007 #T35*500 平成19 ++2008 #T35*500 平成20 ++2009 #T35*500 平成21 ++2010 #T35*500 平成22 ++2011 #T35*500 平成23 ++2012 #T35*500 平成24 ++2013 #T35*500 平成25 ++2014 #T35*500 平成26 ++2015 #T35*500 平成27 ++2016 #T35*500 平成28 ++2017 #T35*500 平成29 ++2018 #T35*500 平成30 ++2019 #T35*500 平成31 ++@YEAR_TO_REIWA@ +-- +2.52.0 +