Title: 新迷解国語辞典 第八版 (New Clear Explanation Japanese Dictionary 8th Edition)
Volumes: 1
Language: Japanese
Publisher: 三省堂 (Sanseido)
Year: 2020
Pages: 1,741
The eighth edition of the Shin Meikai (Clear Explanation) was released on November 19th of this year, 9 years after the seventh edition appeared. It comes in its normal red edition (which is the one I purchased), as well as blue- and white-cover editions, a compact edition, a leather edition, and, releasing next year, (larger-sized) desk and large-print editions. Each has the exact same page count and contents; the normal, compact, and large-size editions differ in paper and font size. I cannot imagine how small the print of the compact edition must be, as the font in the normal edition is very tiny. I wonder if I should have spent the extra amount (and the extra wait time) to get one of the larger editions.
The Shin Meikai (Wikipedia) is a very popular dictionary - the advertising strip on the slipcase claims that it is, in fact, the bestselling Japanese language dictionary. It contains approximately 79,000 entries. One reason for its fame is that a lot of the definitions read more like commentary than the standard objective definitions in other dictionaries, many written by (now-deceased) chief editor Yamada Tadao. Building on this, marketing materials around the eighth edition have emphasized that this is a "thinking dictionary." This reminds me of the little asides Samuel Johnson included in his dictionary in entries like oats, lexicographer, and patron.
"The Thinking Dictionary"
If I lived in Japan, I could return the survey postcard included inside of the dictionary for a chance to win one of the above figures. Or a keychain.
The Shin Meikai tries to keep up with the times, and so this new edition includes new entries for words like "LGBT," "hate speech," "dad joke," etc. Existing entries are updated to reflect the times as well. One of Yamada-san's most quoted entries is 恋愛, or "love/romance." In the eighth edition, the previous phrase "partner of the opposite sex" has been updated to reflect the fact that love can exist outside of a heteronormative gender binary. Here is the entry from page 1668; the translation follows the short explanation of a typical entry's layout.
The asterisk indicates that this is a common, "important" word. Very important words get two asterisks. The 0 enclosed in a square is a reference to the special accent guide found on the inside back cover and in an appendix, serving as a guide for when to raise or lower pitch. The 【】thick square brackets contain the proper kanji spelling of the word; in many entries these are also used to list idiomatic phrases. The ーする indicates that this noun can also be used as a verb by way of the helping verb する ("to love"). When used as a verb, (自サ)indicates that this is an intransitive verb that conjugates as する does. The definition then follows:
Putting yourself in a state where you give affection to a designated partner without regret and at the expense of everything else, always thinking about your partner, wanting to be alone together, wanting to share a world with just the two of you, feeling the joy of saying that this has been granted, and becoming anxious when even small doubts arise.
This is followed by some sample phrases (and if the pitch accent in these combinations differs from what was initially given in the headword, that change is indicated with a new set of enclosed numbers) - in this case the examples include "tying the knot at the end of a passionate love affair", "a love marriage," "romance novel," "love for love's sake."
Other features of this dictionary include basic kanji information and a guide to counting words. I can say that this is officially my first reference work to contain mention of the pandemic we are currently in; here, for example, is the entry for "coronavirus" from page 564:
Coronavirus. [coronavirus from the fact that it looks like the corona of the sun] A virus that causes infection in humans and animals. Among human coronaviruses are pathogens like SARS, MERS, and the new infectious coronavirus strain (COVID-19) that is a widespread outbreak in the year 2020. "SARS coronavirus", "MERS coronavirus."
One nice feature of these "thoughtful" definitions is that the entries for animals are done in such a way as to give you a well-rounded impression of the thing. There are no pictures in this dictionary at all, so relying on the definition alone may result in some medieval-like interpretations of unfamiliar creatures, but you can get acquire a hint of feeling for the nature of the beast. Here, to illustrate, is the entry for かめ, or "turtle," from page 302. The かぞえ方 section after the definition is explaining which counter words can be used for turtles.
A type of reptile which mostly lives in water. They have a strong, round shell, into which they can hide their head, tail, and four legs when threatened by danger. The patterns on their backs are hexagonal. Along with cranes, they are one of the animals associated with longevity. They hibernate.
Sample Entries
In order to provide a common ground for comparison between the various reference works in this guide, I attempt to look up the same two terms in each: "umbrella" and "Saint Louis." "Saint Louis" is not in here, although there is an appendix with details on the countries of the world. かさ、 or "umbrella," can be found on page 266:
Umbrella 1.(笠 - "umbrella hat") a. A (large) hemispherical (mountain-shaped) object placed on top of the head in order to protect against the rain, snow, sunlight, etc. "To wear an umbrella-hat," "an umbrella light (=cover)," "Matsutake mushroom umbrella." b. A thing placed on the end of a thing set up outdoors, like a wall. "The capping stone of a garden lantern," "shutter box cap plate" [To wear an umbrella hat] To have an arrogant attitude, by claiming that you have an influential supporter. [The umbrella hat stand flies] a. To be decapitated. b. To be fired. 2. A thing held above the head by means of a grip in the hand in order to protect from the rain, snow, sunshine, etc. When opened, it is becomes hemispherical, and it folds up when not needed. Bamboo-and-paper umbrellas, western-style umbrellas, parasols, etc. "To hold an umbrella," "To be under the American nuclear umbrella (=security agreement leaning on the power of nuclear weapons)"
Calling all 国語辞典マニア (kokugojiten mania, Japanese dictionary enthusiasts) - a special event was held November 30th in Tokyo called "This Year's New Words 2020 meets Japanese Dictionary Night" (今年の新語2020 meets 国語辞典ナイト). The editors for four of Sanseido's Japanese-language dictionaries (the Daijirin [purple slides below], the Shin Meikai Kokugo Jiten [red], the Sanseido Kokugo Jiten [orange], and the Gendai Shin Kokugo Jiten [blue]) unveiled their ranking for this year's top 10 new words. Following this was a special presentation on the new edition of the Shin Meikai which just came out this month. (My copy came today!)
The countdown to the top neologism of 2020 was subsequently posted on Twitter; I've translated (or, rather, I've made an attempt to translate) each after its accompanying slide. Without further ado - here is Sanseido's Top 10:
- 10 -
Number 10 is チバニアン, Chibanian. The presentation slide gives the following definition: Name for the geological age in the middle period of the Pleistocene epoch. Period from approximately 774,000 years ago until 129,000 years ago. The last geomagnetic reversal phenomenon [when the Earth's magnetic field reverses] occurred in this era. (It means "Chiba era." Because its boundaries and features can be observed in the geological strata along the Yoro River in the city of Ichihara in Chiba Prefecture, it was suggested that its name derive from Chiba, and this received approval from the International Union of Geological Sciences (IUGS) in 2020.)
- 9 -
Number 9 is グランピング, glamping. [glamping ← glamorous + camping] Extravagant camping, spending time in a luxurious facility, a big tent, etc. (Popular in the second half of 2020.)
- 8 -
Number 8 is hard to translate, so forgive my inadequacy in coming up with an English equivalent. まである, or to even X, indicates going above and beyond a normal amount. Normally applied to nouns, the new slangy usage is to apply this to actions or descriptors. Here's how the slide handles it: 1. [Of one's own preparations] Having more than was expected. "It's not just tea, there's even cake." 2. [Connected to a verb phrase / adjectival phrase] To do something that exceeds certain expectations or standards, or the state of doing that. "I liked the painting so much that I even went to see it five times a day." Usage: Usually, 1 is only used when connected to a noun. It's better to avoid using 2 in official scenarios and formal composition.
- 7 -
Japanese is full of onomatopoetic words. Number 7, ごりごり, gori gori is one of these, best translated here as hardcore. The state of being fanatically set about a single way of thinking, etc. [Sometimes used positively to mean "hardcore", "tough and energetic", etc.] "A hardcore realist." "Hardcore science." "A hardcore sexy bass tone."
- 6 -
Number 6 is 優勝, championship. 1. [In a game, match] The act of winning first place. Winning in the finals. "Championship cup." "Achieving a new record." 2. [Vulgar] To be as pleased as can be; to have a completely satisfactory experience. "A one-pot meal and alcohol is champion." ("To be satisfied with just a one-pot meal and alcohol") [This use became more widespread in 2020.]
- 5 -
Number 5 is a word that has increased usage in English the past couple of years as well: マンスプレイニング, mansplaining. [Neologism created from man + explain.] The act of men explaining things to women and young people with a condescending attitude.
- 4 -
リモート, or remote, takes the number 4 spot. [remote = isolated in a far away place, a hard-to-reach place] Isolated in a separate (far-away) place, the act of working, studying, or doing various other actions by passing through a communication line. "To work remotely." "To participate in a drinking-party remotely." "Remote meeting." "Remote homecoming."
- 3 -
Number 3, 密, or confined / close / crowded is also a word that has taken on new meaning during this year's pandemic: To be closely cramped, to the point that the space between one person and another seems dangerous. "The three confines." "This meeting room is a little cramped." This new usage was born as a narrowed version of its initial meaning ("cramped"), in order to draw attention to the spread of the new strain of coronavirus infections in 2020. "The three confines" refer to "crowding together," "close contact", and "closed spaces." (These three things to avoid were a cornerstone of Japan's COVID-19 public awareness campaign.)
- 2 -
Number 2 is 警察, or police. I imagine it would exist on American lists of 2020-vocabulary for different reasons. 1. a. A public agency that cracks down on law violations in order to protect the safety of society. "Police officer." "Police force." b. A police officer. "The police came." 2. [~ police] [Vulgar] A person who criticizes something, inspecting specific things in detail. "Manner police." This usage became more common during 2020.
and
the
number
one
neologism
of
2020
is...
- 1 -
ぴえん, pien is another onomatopoetic word, similar to boo hoo. A light cry given when a sad thing happens. Also the condition of crying and the description of that cry. (It can also be used in a happy situation.) (Also boo-hoo-hoo.) "Nothing is left of my piece of cake, boo hoo."
The editorial staff also listed off a number of COVID-related "honorable mentions" - ソーシャルディスタンス ("social distance"), ステイホーム ("stay home"), クラスター ("cluster"), アマビエ ("Amabie" is a Japanese mermaid-like spirit from the Edo period said to emerge from the sea to warn of pandemics.), ロックダウン ("lockdown"), and 手指 (short for 手指消毒剤, or "hand sanitizer").
I'm not sure where I first saw the RGB Matrices that Adadfruit sells. Probably Twitter. I know I saw a few people post about their last subscription box, which contained one (and I subsequently decided to also subscribe to Adabox - I'll get my first box sometime in December). I really liked the idea of making a digital display, and, in this time of isolation, I've acquired an itch to build and create things.
I ordered the following from Adafruit, taking advantage of a 20% off coupon code they offered for securing one's account:
Micro B USB to USB C Adapter - Adapter necessary to hook up either the power adapter or to use a micro USB cable to hook the Matrix Portal up to the computer for reprogramming.
The display is the smallest (and thus cheapest) RGB option they have; I considered it smart to start small in case I couldn't figure things out. It features 512 LEDs.
I also used the following:
10" x 10" Art Canvas - The LEDs are bright. Extremely bright. Putting the display behind an art canvas is a cheap way to diffuse the light.
Thin Basswood Board - Cut to pin to the back of the canvas to hold the electronics in place.
Tacks - Used to hold the basswood on to the back of the art canvas.
Cushioning foam from the RGB LED matrix panel's box - Used to help keep the electronics in place and force the LEDs up against the back of the canvas.
Acrylic Paint
Adafruit has a lot of useful tutorials on their website. I borrowed liberally from a number of guides while building my wall display, though I had to make modifications since I only had a fourth of the pixels available:
Finally, I used the Tom Thumb super tiny pixel font, various sprite sheets from video games, MU for programming in Circuit Python, Pixelorama for creating the BMP sprite sheets, and, finally, GIMP for making color corrections to the sprite sheets, since LEDs do not exactly see color the same way we do.
The first step was simply plugging the matrix portal into the back of the RGB Display, which embarrassingly took a couple of tries as I initially plugged it into the wrong place, and then again messed up by putting it in upside down...
Success!
Now the hard part: telling it what I wanted it to do. I wanted the display to rotate between showing the weather, the date, the time, and a series of animations. While waiting for the electronics to arrive in the mail, I worked on creating the sprite sheets for the various animations - each 32px wide and multiples of 16px tall. I created one animation each to represent the months of the year, and then I animated 11 "silly" ones to randomly appear on the display. Most of these were video game themed (Koopas, Link from the Legend of Zelda, Kirby, Ms Pacman, etc), but I also created a couple around internet memes (Nyan Cat and the "This is fine" dog). Each animation had to be arranged as a single image with the frames stacked top to bottom; to the right is an example of the Nyan Cat animation and its 23 frames.
I installed Circuit Python onto the RGB Matrix Portal, following the above Adafruit guides, and added the following libraries to the "lib" folder: adafruit_bitmap_font, adafruit_bus_device, adafruit_display_text, adafruit_esp32spi, adafruit_io, adafruit_matrixportal, adafruit_debouncer, adafruit_lis3dh, adafruit_requests, adafruit_slideshow, and neopixel. I created a "bmps" folder and put my 23 animation sprite sheets in there. I also added a "fonts" folder with the Tom Thumb font. Finally, in the base "CIRCUITPY" folder, I added the weather-icons.bmp file from the Weather Display tutorial, and three python scripts.
All programming done with canvas resting on top of LEDs to save my eyes.
The code is all available here on Github. The first python file is secrets.py - this contains user-specific information for Wifi settings, location, API keys, etc. Here is a blank template:
I modified the openweather-graphics.py script from the "Weather Display Matrix" tutorial. I reduced the number of font sizes down to one and had it use the Tom Thumb font. I then went through and commented out every line that referenced self.medium_font.
I altered the positioning of the temperature and icon to better suit the smaller display, and I also commented out the self.description_text, self.humidity_text, and self.wind_text sections, choosing to just stick with the temperature and weather icons.
The Tom Thumb font does not have a degrees symbol, so I replaced that in the code with an apostrophe. I also added a couple of small definitions to have the temperature replaced by the date and the time which the main code would pass along to it - this way the date and time would appear with the chosen weather icon:
And now for the main event! The code.py file is what Circuit Python runs when power is supplied to the Matrix Portal. Here's a walk through of my code.py file:
import time
import os
import board
import displayio
import random
from digitalio import DigitalInOut, Pull, Direction
from adafruit_matrixportal.network import Network
from adafruit_matrixportal.matrix import Matrix
from adafruit_debouncer import Debouncer
from secrets import secrets
import openweather_graphics # pylint: disable=wrong-import-position
First we import all of the libraries we need as well as declare our constants. I want the weather to pull for my current location (St. Louis) and display the temperature in Fahrenheit. I tell it where to find my animations and also define how long it should pause between frames - I have my animations running at a turtle speed of 1 frame per second.
It is extremely important to alter the Matrix() function when using the smaller RGB matrix; most of the tutorials assume you have default 64x32 matrix, and the code will not work correctly if the proper width and height are not specified. This was a source of frustration until I figured it out - the RGB matrix was just displaying garbage until this was corrected. We essentially define two display sources here - gfx is the weather/date/time display and sprite_group is the animations. We'll flip between the two later in the code.
Here we define some more variables that will be used in the various loops. The file_list pulls in an alphabetical list of the animations in the bmps folder.
I use the unaltered load_image function from the "Bitmap Pixel Art and Animation" tutorial.
def advance_image(which_image):
"""
Advance to the next image in the list and loop back at the end
"""
# pylint: disable=global-statement
global current_image
current_image = which_image
load_image()
I did alter the advance_image function from that tutorial. In the tutorial, the code advances from one image to the next in order. I modified this to use specifically the image I passed to it, as I wanted to introduce an amount of randomness into the equation.
def advance_frame():
"""
Advance to the next frame and loop back at the end
"""
# pylint: disable=global-statement
global current_frame, current_loop
current_frame = current_frame + 1
if current_frame >= frame_count:
current_frame = 0
current_loop = 1
sprite_group[0][0] = current_frame
The advance_frame function is mostly the same as it is in the tutorial, but I am using current_loop in a different capacity - for me, it will let the code know when the current animation is done and it is time to go back to the weather/date/time, and vice-versa.
def hh_mm(time_struct):
""" Given a time.struct_time, return a string as H:MM or HH:MM, either
12- or 24-hour style depending on global TWELVE_HOUR setting.
This is ONLY for 'clock time,' NOT for countdown time, which is
handled separately in the one spot where it's needed.
"""
if TWELVE_HOUR:
if time_struct.tm_hour > 12:
hour_string = str(time_struct.tm_hour - 12) # 13-23 -> 1-11 (pm)
elif time_struct.tm_hour > 0:
hour_string = str(time_struct.tm_hour) # 1-12
else:
hour_string = '12' # 0 -> 12 (am)
else:
hour_string = '{0:0>2}'.format(time_struct.tm_hour)
return hour_string + ':' + '{0:0>2}'.format(time_struct.tm_min)
Here I am using the hh_mm time formating function from the "Moon Phases Clock" tutorial. It's unaltered. Now for the main loop:
while True:
if (not localtime_refresh) or (time.monotonic() -
localtime_refresh) > 3600:
try:
network.get_local_time()
localtime_refresh = time.monotonic()
value = network.fetch_data(WEATHER_SOURCE,
json_path=(DATA_LOCATION,))
weather_refresh = time.monotonic()
except RuntimeError as e:
print(e)
continue
I have it set up to update the weather and sync the clock once per hour.
If current_loop is 1, then we proceed through the weather/time/date section (otherwise we will cycle through the frames of an animation). On top of a backdrop with the weather icon, the code displays in turn the temperature, the time, and the date (and then repeats this once) with a ten second pause on each.
if (NOW.tm_mon == 1): # Month Pictures
which_pic = 4
if (NOW.tm_mon == 2):
which_pic = 3
if (NOW.tm_mon == 3):
which_pic = 10
if (NOW.tm_mon == 4):
which_pic = 0
if (NOW.tm_mon == 5):
which_pic = 11
if (NOW.tm_mon == 6):
which_pic = 6
if (NOW.tm_mon == 7):
which_pic = 5
if (NOW.tm_mon == 8):
which_pic = 1
if (NOW.tm_mon == 9):
which_pic = 21
if (NOW.tm_mon == 10):
which_pic = 15
if (NOW.tm_mon == 11):
which_pic = 13
if (NOW.tm_mon == 12):
which_pic = 2
Based on the date, the code selects the appropriate month animation. The animation file list is alphabetically ordered; the numbers refer to the position in that list (starting at 0). "Jan.bmp" is the 5th image in the folder, so if it is January, the code picks picture position 4.
current_loop = 0
random_image_control = random.randint(1,22)
if (random_image_control == 2):
which_pic = 7 #Kirby
if (random_image_control == 4):
which_pic = 8 #Koopas
if (random_image_control == 6):
which_pic = 9 #Link
if (random_image_control == 8):
which_pic = 12 #Mermaid
if (random_image_control == 10):
which_pic = 14 #Nyan
if (random_image_control == 12):
which_pic = 16 #Pac1
if (random_image_control == 14):
which_pic = 17 #Pac2
if (random_image_control == 16):
which_pic = 18 #Pac3
if (random_image_control == 18):
which_pic = 19 #Pac4
if (random_image_control == 20):
which_pic = 20 #Penny
if (random_image_control == 22):
which_pic = 22 #ThisIsFine
We set current_loop to 0 because it is now animation time. But first, I throw some randomness into the loop. The code pics a random number between 1 and 22. If the number is odd, it keeps the selected month-specific animation. If the number is even, it replaces the picture choice with one of the 11 "silly" animations.
The code then loads up the chosen animation and switches from the weather/time/date display to the animation display. The commented out line was for testing the appearance of the specific animations - I ended up having to color/brightness correct a number of them.
if (current_loop == 0):
advance_frame()
time.sleep(frame_duration)
The code loops through the main loop for infinity. If the current_loop variable is set to 0, it skips the weather/date/time and image selection section and comes here, which simply has the display advance to the next frame of the animation and wait the defined amount of time before preceeding (1 second).
With the programming done, it was time to mount the electronics into the back of the art canvas in a secure way. I measured and cut some thin basswood to use as backing, and attached that to the canvas with thumbtacks. I adjusted the positioning and pressure on the board (so that the LEDs would press against the back of the canvas - otherwise the image would not be in focus) using bits of foam that came in the box with the display itself. Finally, I had to saw off and sand down a bit of the frame for the matrix portal to have room; otherwise it was being forced to sit at an angle that made me uncomfortable.
The completed back.
The well carved out for the matrix portal.
And that's it! I painted the front with no real plan and declared the project completed. I'll be hanging this in our living room 🙂
12/2/2020 UPDATE!
My project made it onto today's Adafruit ASK AN ENGINEER livestream!