GithubHelp home page GithubHelp logo

proycon / hanzigrid Goto Github PK

View Code? Open in Web Editor NEW
18.0 2.0 5.0 7.45 MB

Hanzi grids for studying mandarin chinese (tool & output data)

Shell 2.84% Python 13.97% HTML 83.18%
chinese mandarin hanzi chinese-characters chinese-language learning-chinese hsk hsk-vocabulary

hanzigrid's Introduction

Hanzi Grids

A hanzi grid is a study grid or matrix of chinese characters along with (optionally) pinyin and/or words from the HSK levels. In this repository you will find various study grids, as well as the hanzigrid tool that generated them, and the raw input data from which they were generated. This means you can make your own hanzi grids to learn mandarin chinese!

A full example hanzi grid is shown below, the colour of the chinese characters corresponds to the tone in mandarin, and the background colour gives an indication of the HSK level.

an example hanzigrid

There is also an interactive web-based variant of thee grids where you can click characters to see all HSK words containing that hanzi, and the pinyin and translations:

an example hanzigrid

One available hanzi grid configuration is my own so-called "confusible" ordering, as featured in both of the above previews. In this configuration, I manually attempted to group hanzi that look somewhat similar (like ็‰› and ๅˆ) and are therefore easily confused. Having these right next to eachother in a grid enables a horizontal learning method where you can immediately judge a hanzi in a context of similar ones. This is a fairly subjective ordering and not necessarily the only or the best one! My confusible set contains roughly 1000 hanzi and includes everything in HSK1 to 3 and various of the higher HSK levels:

Alternatively, you can have grids per HSK level, either in pinyin ordering or frequency ordering, and for different paper/screen sizes, or grids that combine several HSK levels:

Related Initiatives

I want to acknowledge the following sites for open work that is related and served as an inspiration for hanzigrid and my confusible-ordered list.

Hanzi Grid Tool

This is the command line tool that generated the above chinese character study grids, and with which you can create your own study grids.

  • SVG images - great for printing, making your own chinese character poster and hanging it on your wall!
  • An interactive HTML page (using the SVG images - for study on computers or mobile devices. There's also Javascript/JSON output which you can immediately reuse in your own applications.

The tool is fed a list of input characters (a plain text file), and it will look up each character in HSK level 1 to 6 and draw it on the grid along with additional information. This means you can use it to generate custom grids with exactly the characters you want and in the order you want.

Features

  • Characters can be assigned a colour corresponding to the tone (1 - red, 2 - yellow, 3 - green, 4 - blue). Characters that have multiple readings, are neutral tone, or for which no pinyin could be found (if they're not in HSK) are always shown in black.
  • HSK levels can be indicated by cell background colour (HSK1-3: white, HSK4: light grey; HSK5: yellow, HSK6: red, not in HSK: dark grey). This may act as a cue for you to skip the character until you're proficient in the lowel levels.
  • Example words from the HSK lexicon are shown (up to two in the images). In the interactive form, click a character words in which they occur.
  • Showing pinyin on the grid is supported (but not enabled by default)
  • Pinyin ordering is supported (not enabled by default)
  • The alternative character (simlified/traditional) can be shown in the bottom-right corner of the cell.
  • You can determines the columns/rows/cell sizes.

Installation

Familiarity with Python and the command line is assumed if you want to use this tool to make your own hanzi grids, install hanzigrid using pip as follows:

pip install hanzigrid

Usage

See hanzigrid --help

Notes

The interactive page HTML outputted by this tool has to be served from a proper webserver, serving locally from file:/// will not work well!

hanzigrid's People

Contributors

jay-pee avatar proycon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.