Categories
WordPress

To create a BBS by the WordPress plugin bbPress.

同一記事の日本語版
Update information      Edit(Aug.16)    Edit2(Nov.4)    Edit3(2016.Feb.27)

   Since I unified my site CMSes to WordPress, I’ve troubled how I create my BBSes on the both sites of Japanese and English.
   What I want my BBSes is two things, one is the normal BBS features of course and the other is a communication board for some troubles on my home server, for example 403 forbidden, 503 Service Unavailable, etc. Hence the BBSes must exist on other servers than my home server.

   On the English site I first used the comment feature of the single WordPress page for this purpose. It didn’t meet both of my requirements. But, I’ve had few people write comments on it so I’ve left it be.
   On the Japanese site I fist created the BBS by a free Perl scripts named ‘Joyful Note‘. It met both of my requirements, but after I transferred my domain on this February new hosting service brings me no Perl cgi service. So I stopped using Joyful Note, and created a new BBS by PukiWiki. Though this PukiWiki board exists on the other server than my home server, its features as a BBS are very poor.

   About ten days earlier, an inspiration hit me. “I just make a BBS like WordPress.org Forums.” I looked into the site HTML source codes, and then I found the word bbPress. Now, I’ve created my BBSes by bbPress on WebCrow which is a free web hosting service of my registrar.

   By the way, you can find tons of information about bbPress form the old to the new. You shouldn’t refer to the old. bbPress is in progress still now and I think its progress’s been very fast. Now, bbPress becomes one of the normal WordPress plugins, so at its installation you need only a WordPress plugin installation.

   My customization to bbPress is the following things only.

  • On some situations, the color of letters are too light than I can read them. So, I change #ccc & #bbb to # 333 on three places in bbpress/templates/default/css/bbpress.css.

         #bbpress-forums .status-closed,
         #bbpress-forums .status-closed a {
             color: #ccc;
     
         .bbp-forum-header a.bbp-forum-permalink,
         .bbp-topic-header a.bbp-topic-permalink,
         .bbp-reply-header a.bbp-reply-permalink {
             color: #ccc;
     
         span.bbp-admin-links a {
             color: #bbb;

   bbPress has no image uploading feature, so I install GD bbPress Attachments. And I customize the following two filters due to convenience for anonymous users.

  • They exist in gd-bbpress-attachments/code/attachments/class.php.
     return apply_filters('d4p_bbpressattchment_is_user_allowed', $allowed);
         ↓
     return apply_filters('d4p_bbpressattchment_is_user_allowed', true);
     
     return apply_filters('d4p_bbpressattchment_is_hidden_from_visitors', $value == 1);
         ↓
     return apply_filters('d4p_bbpressattchment_is_hidden_from_visitors', false);

   I still have a problem about these two plugins. They have no ENTIRE Japanese language files and I couldn’t find them anywhere. I only translated the visible part for visitors. But, their pot flies include a lot of words, especially bbPress, so my work doesn’t meet the unveiling schedule of BBSes (;´o`).

   By the way, I added six Japanese characters (案内サピプッ) to Untitled1_sub.woff. Well, we can use FontForge on Windows easily, clap clap. At this time, WOFFコンバータ didn’t work well though I don’t know about the reason, so I used ttf to woff converter to renew the Untitled1_sub.woff.

   I move all comments on old BBSes to new ones.

  • Note: bbPress has the time when a user modified a comment (_bbp_last_active_time) on each topic and shows it as a post date. I cannot rewrite them from WordPress Admin Panel, and it is a little bit trouble for old comments. So, I rewrote them as MySQL data.

   Mission complete!! Here new BBSes are. Please feel free to use. m(_”_)m

Edit(Aug.16):
   I found https://translate.wordpress.org/projects/bbpress. It’s cool. I have to get involved!

Edit2(Nov.4):
   If your BBS needs more customization, bbPress Shortcodes might help you. Here is Shortcodes Codex.

Edit3(2016.Feb.27):
   Recently, some language files for bbPress, for example Japanese, are automatically downloaded from Translating WordPress. So you don’t need po nor mo files in the plugin language folder. I don’t remember this feature began to work from when. But it works well now. My WordPress is 4.4.2 and bbPress is 2.5.8 at this point.

Categories
WordPress

WordPress3.9.2 Background Updates.

同一記事の日本語版

   This morning I had a update message about WordPress 3.9.2 by an email. It is a minor maintenance release. But it includes a fix for ‘a possible denial of service issue in PHP’s XML processing’ and others. They strongly encourage us to update our sites immediately. So if your site does not support automatic background updates, you’d better follow their words and update manually.

   List of Files Revised

readme.html
wp-admin/about.php
wp-includes/ID3/getid3.lib.php
wp-includes/class-IXR.php
wp-includes/class-wp-customize-widgets.php
wp-includes/compat.php
wp-includes/pluggable.php
wp-includes/version.php
wp-login.php

Categories
WordPress

A solution of “SSL3_READ_BYTES:sslv3 alert handshake failure” on WordPress.

同一記事の日本語版

   Since WordPress that was version 3.7 had a ca-bundle.crt in its wp-includes folder, I’ve had troubles when I upgrade my WordPress Network. I misunderstood the message “Warning! Problem updating https://SITENAME.” meant one of my sites had a trouble, but now I think it meant the first site the WordPress checked out was wrong and the WordPress had no information about the rest of my sites.

   First I had the “Error message: SSL certificate problem: self signed certificate in certificate chain” because I use a self-signed certificate. But Oiram gave me its solution. All I need is to add my CA cert data to the ca-bundle.crt.

   Next I had the “Error message: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure”. I’ve had a hard time with this trouble for more than two months. Finally, I have the complete solution of this today \(^o^)/.

   I look back now and think the trouble had three issues.

  1. My client.crt had no ssl_client extension. so I re-made a client.crt with ssl_client extension like this. The reference of this is “sslv3 alert handshake failure when using SSL client auth”.
    First, I added the next text to the end of my openssl.cnf.

    [ ssl_client ]
    basicConstraints = CA:FALSE
    nsCertType = client
    keyUsage = digitalSignature, keyEncipherment
    extendedKeyUsage = clientAuth
    nsComment = “OpenSSL Certificate for SSL Client”

    And I made a new client.crt with ssl_client extension.
    >openssl ca -config openssl.cnf -policy policy_anything -extensions ssl_client -in client.csr -out client.crt

    • With the old client.crt, I had the next two errors when I did “openssl s_client -connect o6asan.com:443 -cert client.crt -key client.key -CAfile cacert.pem”. But, the new one gives no error.
    • error:14094418:SSL routines:SSL3_READ_BYTES: ~
      error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure: ~
    • Of course I re-made a new clientcert.p12
  2. At “Upgrade Network”, WordPress uses cURL. But cURL doesn’t accept P12 format certificates. So I need PEM format certificates.
    • To make a clientcert.pem from the clientcert.p12
      >openssl pkcs12 -in clientcert.p12 -nokeys -clcerts -out clientcert.pem
    • To make a clientkey.pem from the clientcert.p12
      >openssl pkcs12 -in clientcert.p12 -nocerts -out clientkey.pem
       
      To make a copy of the clientkey.pem and remove the pass phrase from it.
      >copy clientkey.pem cp_clientkey.pem
      >openssl rsa <cp_clientkey.pem> clientkey.pem
  3. To tell my WordPress the places of the client certificates.
    • To add the following lines to just before the line “curl_setopt( $handle, CURLOPT_CAINFO, $r[‘sslcertificates’] );” in the file class-http.php.curl_setopt( $handle, CURLOPT_SSLCERT, 'the exact path of clientcert.pem' );
      curl_setopt( $handle, CURLOPT_SSLKEY, 'the exact path of clientkey.pem' );

      I hate to change WordPress core PHP scripts, so I try and try other methods, but nothing is useful. After all, I add the lines above to the class-http.php.

      To copy the clientcert.pem and the clientkey.pem to somewhere in the server, somewhere means a safer place anyone cannot access via the Internet.

    This reference is Client URL Library.

   If you need how to create certificates, see the post “WordPress: Administration Over SSL #1”.

   Now the error has gone. I’m happy, clap,clap!!

Categories
WordPress

WordPress3.9.1 Background Updates.

同一記事の日本語版
Update information      Edit

   This morning I had a update message about WordPress 3.9.1 by an email. It is a minor maintenance release. But it includes 34 bug fixes and they say the fixes are very related to multisite networks.

   List of Files Revised

readme.html
wp-admin/css/edit.css
wp-admin/css/forms-rtl.css
wp-admin/css/login-rtl.min.css
wp-admin/css/admin-menu-rtl.css
wp-admin/css/wp-admin-rtl.min.css
wp-admin/css/edit-rtl.css
wp-admin/css/forms.css
wp-admin/css/admin-menu.css
wp-admin/css/login.min.css
wp-admin/css/wp-admin.min.css
wp-admin/about.php
wp-admin/user/menu.php
wp-admin/includes/ajax-actions.php
wp-admin/js/post.min.js
wp-admin/js/customize-controls.min.js
wp-admin/js/post.js
wp-admin/js/customize-controls.js
wp-admin/custom-header.php
wp-admin/credits.php
wp-admin/freedoms.php
wp-includes/ms-settings.php
wp-includes/class-wp-editor.php
wp-includes/media.php
wp-includes/js/shortcode.min.js
wp-includes/js/customize-views.js
wp-includes/js/media-views.min.js
wp-includes/js/tinymce/plugins/wpview/plugin.js
wp-includes/js/tinymce/plugins/wpview/plugin.min.js
wp-includes/js/tinymce/plugins/wordpress/plugin.js
wp-includes/js/tinymce/plugins/wordpress/plugin.min.js
wp-includes/js/tinymce/plugins/wpeditimage/plugin.js
wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js
wp-includes/js/tinymce/plugins/wplink/plugin.min.js
wp-includes/js/tinymce/plugins/wplink/plugin.js
wp-includes/js/tinymce/wp-tinymce.js.gz
wp-includes/js/customize-models.js
wp-includes/js/mce-view.js
wp-includes/js/mediaelement/wp-playlist.js
wp-includes/js/mediaelement/wp-mediaelement.css
wp-includes/js/media-audiovideo.min.js
wp-includes/js/shortcode.js
wp-includes/js/media-views.js
wp-includes/js/customize-views.min.js
wp-includes/js/media-audiovideo.js
wp-includes/js/customize-models.min.js
wp-includes/js/mce-view.min.js
wp-includes/version.php
wp-includes/default-widgets.php
wp-includes/script-loader.php
wp-includes/media-template.php
wp-includes/ms-load.php
wp-includes/css/editor-rtl.css
wp-includes/css/editor.css
wp-includes/css/media-views-rtl.min.css
wp-includes/css/media-views.min.css
wp-includes/css/editor-rtl.min.css
wp-includes/css/editor.min.css
wp-includes/css/media-views-rtl.css
wp-includes/css/media-views.css
wp-includes/widgets.php

Edit:
   After writing the post, I checked the new files out. I am very surprised that I found out 165 files removed. Most of them are kinds of css or js. They includes a lot of files related to TinyMCE. I heard several issues of the visual editor on WordPress 3.9. The troubles were maybe related to TinyMCE. I remember TinyMCE 4.0 merged into WordPress Core announce on this January. I think this probably influenced the behavior of the visual editor, so they had this acts. Do you think so, too?
      List of Files Removed

Categories
WordPress

WordPress 3.9 named “Smith” is available but waiting Japanese version.

同一記事の日本語版
Update information      Edit    Edit2(Jun.22)

   WordPress 3.9 named “Smith” is available but waiting Japanese version. How about you, guys?
 
Edit:
   I upgraded to WordPress 3.9-ja at 20:19. I still have the same issue when I updated to 3.8.3. The issue is that Warning! Problem updating https://SITENAME. Your server may not be able to connect to sites running on it. Error message: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure. Why does it happen???
 
   Here are the information pages about WordPress 3.9. Codex, Blog, Changelog.

Edit2(Jun.22):
   I wrote an article The solution of “SSL3_READ_BYTES:sslv3 alert handshake failure” on WordPress.

Categories
WordPress

A subsequent update: WordPress 3.8.3

同一記事の日本語版
Update information      Edit    Edit(Jun.22)

   A few days earlier, I wrote “I think Automatic Background Updates for minor updates are no problem.” in my reply to one of the Japanese blog visitors. But it might have a problem if the Update has files related with localizations like 3.8.3.

   This update includes the following Revised Files.

wp-admin/includes/upgrade.php
wp-admin/includes/post.php
wp-admin/about.php
wp-includes/version.php
readme.html

   Actually, the file version.php has the $wp_local_package as its last line if you installed a localized WordPress. Some troubles might happen if the line is deleted by the Automatic Update. If you installed the localized WordPress and had the Automatic Update of 3.8.3, you’d better add the line $wp_local_package = ‘your_localize_code’ to your version.php’s last line.

   By the way, in spite of using Oiram’s workaround, I had Warning! Problem updating https://SITENAME. Your server may not be able to connect to sites running on it. again. The error code is Error message: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure. This is different from the previous one. I couldn’t find how to solve it still now. The same site has the error again. Why does it happen?

Edit:
   My talk on this post is repugnant to “WordPress 3.8.2 has come in this morning.”. The version.php of 3.8.2 had no $wp_local_package = ‘your_localize_code’ but gave no problem. Ummm.

Edit(Jun.22):
   I wrote an article The solution of “SSL3_READ_BYTES:sslv3 alert handshake failure” on WordPress.

Categories
WordPress

WordPress 3.8.2 has come in this morning.

同一記事の日本語版
Update information      Edit(Apr.15)

   WordPress 3.8.2 has come in this morning.

   Of course, I actualy found it when I logged in my admin panel in the morning he-he. Last night I re-created the SSL things and re-patched Oiram’s workaround to the ca-bundle.crt, so I slightly worry about the update of WordPress, but I have no problem at this time. Happy!

Edit(Apr.15):
   My talk on this post is repugnant to “A subsequent update: WordPress 3.8.3”. The version.php had no $wp_local_package = ‘your_localize_code’ but gave no problem. Ummm.

Categories
WordPress

To create a WOFF file from my own handwriting-#3.

同一記事の日本語版
Update information      Edit(Jul.17)

New Widgets Title on Japanese blog   Continued from “To create a WOFF file from my own handwriting-#2.”.

   Now, I have the ttf file(Untitled1.ttf) I want. First I’ll make a subset from the ttf file. Actually my ttf file only contains 31 glyph, nevertheless, the subset file is smaller than the original file. So, this work is worthwhile. Second, I’ll make a WOFF file.

   You can find some sites which create WOFFs from ttfs. For example, Webfont Generator, ttf to woff converter, Font2Web, and so on. Some of them can convert full-size characters as well as half-size characters, others cannot. You are able to use command line tools like sfnt2woff. But I found a tool named WOFFコンバータ and can use it on Windows 2000/XP/Vista/7/8 and Mac OS X 10.6 or later. Besides, they distribute a subset font maker named サブセットフォントメーカー, which also works on Windows 2000/XP/Vista/7/8 and Mac OS X 10.6 or later. So, I’ll use it. I greatly appreciate their tools.

  1. Install サブセットフォントメーカー and WOFFコンバータ.
  2. Run サブセットフォントメーカー.   — Fig.1
     
    Explanations of words:
    参照 <--- Browse. 作成元フォントファイル <--- It means "Original File Location & Name". 作成後フォントファイル <--- It means "Subset File Location & Name". フォントに格納する文字 <--- It means "What characters you want the Subset file to include". 書体名を変更する <--- Change Font Name. IMPORTANT!! If a font on your system has the same name, it might be affected by this font.
    作成開始 <--- Make Subset
  3. After 2, WOFFコンバータ runs automatically.   — Fig.2
     
    Explanations of words:
    サンプル文字列 <--- Characters for @font-face Demo 変換開始 <--- Convert to WOFF.

   When this work ends, the tools give me next three files.
     ・Untitled1_sub.html
     ・Untitled1_sub.ttf
     ・Untitled1_sub.woff

   If you open the Untitled1_sub.html by a text editor, you can find the css code you need.

   In my case, I created the WOFF to use for the my Japanese blog Theme which is a child Theme of ‘Sugar and Spice’. So I added the css customization for its style.css. Here is my current style.css in the child Theme folder. Bold and italic parts are new additions. Of course, you have to upload the WOFF file to your server.
   Then the Widget Titles on my Japanese blog have changed their design. See the top image of this post. The WOFF file size is only 10.8KB. Now I have satisfied my own ego trip ha-ha-ha.

   Mission complete!! Clap, clap.

/*
Theme Name: J blog
Theme URI: http://webtuts.pl/themes/sugar-spice
Description: sugarspice Child Theme
Author: Aleksandra Laczek
Author URI: http://webtuts.pl
Template: sugar-and-spice
Tags: light, white, gray, two-columns, fixed-layout, responsive-layout,
custom-background, custom-menu, featured-images, theme-options, threaded-comments,
translation-ready, full-width-template
Text Domain: sugarspice-child
*/

@import url("../sugar-and-spice/style.css");

/* =Theme customization starts here
-------------------------------------------------------------- */
@font-face {
font-family: 'MyFont';
src: url('Exact URL to Untitled1_sub.woff') format('woff');
}

body {
color: #000;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
color: #000;
}

/* Calendar Widget */
table th,
table td{
color: #000;
background: transparent;
border: none;
text-align: left;
}

.widget-title em {
font-family: 'MyFont';
font-size: 26px;
font-style: normal;
padding-left: 3px;
}

/* 07. Forms & buttons
================================================== */
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
color: #000;
}

/* #Forms */
input[type="text"],
input[type="search"],
input[type="password"],
input[type="email"],
textarea,
select {
color: #000;
}

input[type="text"]:focus,
input[type="search"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
textarea:focus {
color: #000;
}

label span,
legend span {
color: #000;
}

Edit(Jul.17):
   Hey guys, I have good news for you. Now, we can use FontForge for Windows with no pains. At this time, its version is 20-06-2014.

Categories
WordPress

To create a WOFF file from my own handwriting-#2.

同一記事の日本語版
Update information      Edit(Jul.17)

   Continued from “To create a WOFF file from my own handwriting-#1.”.

   Now, I can use FontForge. By the way, the fontforge_cygwin-20090914.tar.bz2 on my Windows8 Pro x86 is very unstable. But it works. FontForgeSetup_2012-07-31_Windows.exe didn’t work and fontforge-20090923-1.i386.rpm was more unstable than fontforge_cygwin-20090914.tar.bz2 on my system. There is no turning back. So, I use the fontforge_cygwin. See the edit. You can use FontForge for Windows.
   I first write about creating a ttf file, but note the following points. To follow my procedure probably you have a ttf file and it possibly works. But I do not mention a lot of information to create a full ttf file. So if you want to make a decent ttf file, learn about it by yourself after my method confirmed. You can find more information on Tutorial.
 
**Step by step #2**

  1. Open a cygwin window (by clicking on the cygwin icon).
    $ xinit   — Fig.1

    I have X in a large window.
    [Note] I think you’d better make a working folder for your WOFF. The folder is named MyFont or something like that and placed in cygwinhome<username>. You save your Inkscape SVG files to the folder, which is convenient for your rest work.

  2. $ cd MyFont
    $ fontforge -new   — Fig.2
    I have a new window at the right top corner.
  3. ***Starting to create a font.
    1. I create a Japanese font, so I use a re-encoding feature (JIS 212 (Kanji)).   — Fig.3
    2. ****Creating a half-width character.

      At the first, I make “p” as a half-width character example. Double clicking on the green area.   — Fig.4
      I have another window.   — Fig.5

    3. Use ‘Import’.   — Fig.6
    4. Click ‘Image’ and choose ‘SVG’ from the drop down menu.   — Fig.7, Fig.8
    5. Double click p.SVG.   — Fig.9
    6. Choose ‘Close’.   — Fig.10
    7. “p” is a half-width character, so Use ‘Metric Window’.   — Fig.11
    8. Change the width from ‘1000’ to ‘500’.   — Fig.12
    9. Close ‘Metric Window’.   — Fig.13
    10. Save all I made as a sfd file (default: Untitled1.sfd).   — Fig.14, Fig.15
      [Note] Usually, we don’t need saving at this point, but my FontForge is very unstable. So, I saved all at the point every time just to be on the safe side.
    11. [Note] If you make half-width characters, repeat 2(Fig.4) -10(Fig.15) about all half-width characters you want to make.
       
    12. ****Creating a full-width character.

      I make “ン” as a full-width character example. When making a full-width character, use ‘View’ → ‘Goto’ feature because the finding character place is difficult.   — Fig.16

    13. Copy & paste “ン” in the search form and [OK].   — Fig.17
    14. Double clicking on the yellow area.   — Fig.18
      Repeat from Fig.5 to Fig.8.
    15. Double click U+30F3.SVG.   — Fig.19, Fig.20
      [Note] ‘U+30F3’ is the Unicode for ‘ン’. If available, ン.SVG is convenient for its file name, but, unfortunately this directory menu does not show full-width characters correctly on my system. So I use half-with characters as SVG file names.
    16. Close the window.   — Fig.10
    17. Save all to the sfd file which I made when I created the character “p”.   — Fig.14
    18. [Note] If suspending your creation, do Fig.21, Fig.22, Fig.23.
    19. [Note] If resuming your creation, type “fontforge YourFont.sfd” instead of “fontforge -new”.
    20. Repeat the work above about the characters I want to create. After that I have a sfd file which contains all glyph I want.
    21. Generate and save a ttf file.   — Fig.24, Fig.25
      [Note] Unchecked ‘Validate Before Saving’.
  4. Finaly, I have the ttf file I want.

   The next post I will write how to make a subset file.

Edit(Jul.17):

   Hey guys, I have good news for you. Now, we can use FontForge for Windows with no pains. At this time, its version is 20-06-2014.

Categories
WordPress

To create a WOFF file from my own handwriting-#1.

同一記事の日本語版
Update information      Edit(Jul.17)

Widgets Title on English blog   One of the reasons I chose the Theme “Sugar and Spice” was its Widget title design. Originally, it also provides the same design for blog titles though I don’t use this feature for the title. The name of the font for the designs is Niconne. It is available on Google Fonts and we can use it by this instructions.

Widgets Title on Japanese blog   After changing my Theme to “Sugar and Spice”, I suddenly found the Niconne includes only Latin font. On my Japanese blog the Widget titles are like the right image. Oops. Its Japanese font is dry and boring. Besides, what fonts are used depends on the visitors’ PC environment. Only “w” and “p” are displayed by the Niconne. I don’t like this.

   So I was looking for a Japanese WOFF instead of Niconne, but I couldn’t. At this point, when we use WOFFs of Japanese fonts, we have some specific difficulties. In Japanese texts we use various kind of characters than in Latin texts. A Japanese font file at least contains about 7000 characters. So the size of Japanese font files are much bigger and to create a Japanese font file needs harder work than to create a Latin one. Therefore, to find a free Japanese WOFF is difficult. To use a free Japanese WOFF is also inconvenient because the display of the blog slows down due to its size. Time that gives technology improvements will resolve this issues. But then, I was in trouble.

   Hence I decided to create a WOFF file from my own handwriting. Because I need only 31 characters for my Japanese blog Widget titles(最近の投稿広告コメントタグアーカイブテゴリ日本公式キャラクwp). So, I don’t need a full WOFF of Japanese. Besides, no license problem they have if I make them by myself d(^o^).

   Now, I’ll begin.

**Step by step**

  1. I wrote 31 funny letters by my hand like this ☞ . Ha ha ha.
  2. Scan my handwriting and save it as a png file. If your scanner doesn’t have a saving feature as png files, you need an images converter to make a png file. Of course you can use Inkscape as the converter.
  3. Modify each character to each ping file (1000 pixels x 1000 pixels). Only “p” and “w” are 500 pixels x 1000 pixels.
  4. All this ping files are bitmap image files, so I need to change them to vector image files. Download inkscape-0.48.4-1-win32.7z for my Windows8 x86.
  5. Extract inkscape-0.48.4-1-win32.7z to an appropriate place.
  6. Run inkscape.exe.
    1. Open one of the png files. Click on the image to focus.
    2. To trace a bitmap, call up the Trace Bitmap dialog (Path → Trace Bitmap). Click [OK]. Close the Trace Bitmap dialog.
    3. Simplify path (Path → Simplify). Save it as an Inkscape SVG file.
    4. Rotate rule.Repeat 1-3 about all png files.
      [Note] If you need to create a vector image by manual, keep this in your mind. When you draw outline of the glyph, you do always see the glyph body at the right side and the empty area at the left side. See the right image.
  7. Download setup-x86.exe (32-bit installation) See the edit. You can use FontForge for Windows.
  8. Install cygwin by following FontForge install procedures for cygwin under MS Windows. Actually, I installed and ran FontForgeSetup_2012-07-31_Windows.exe before this. But, unfortunately it didn’t work well on my Windows8 x86.
  9. Run setup-x86.exe.
    • At “Choose A Download Source”, Select “Install from Internet”.
    • At “Install For”, select “All Users”. Avoid the folder that name includes spaces, for example “Program Files”.
    • At “Internet Connection”, select “Direct Connection”.
    • At “Choose A Download Site”, chose a server you prefer.
    • At “Select Packages”, change X11 preference from “Defalt” to “INstall”.
    • Now, install.
  10. Download fontforge_cygwin-20090914.tar.bz2.
  11. Move fontforge_cygwin-20090914.tar.bz2 to cygwinhome<username>.
  12. Install FontForge.
    Open a cygwin window (by clicking on the cygwin icon).

    1. $ bunzip2 fontforge_cygwin-*.tar.bz2
    2. $ tar xf fontforge_cygwin-*.tar
    3. $ cd fontforge
    4. $ ./doinstall
    5. $ cat >> ~/.bashrc
      PATH=${PATH}:/usr/local/bin ; export PATH
      MANPATH=${MANPATH:-}:/usr/local/man ; export MANPATH
      export LANG=ja
    6. $ exit
  13. Download mplus_bitmap_fonts-2.2.4.tar.gz.
  14. Move mplus_bitmap_fonts-2.2.4.tar.gz to cygwinhome<username>.
  15. Open a cygwin window (by clicking on the cygwin icon).
    1. $ tar zxvf mplus_bitmap_fonts-2.2.4.tar.gz
    2. $ cd mplus
    3. $ ./install_mplus_fonts
    4. $ cd ..
    5. $ cat >> ~/.bashrc
      xset fp+ /usr/X11R6/lib/X11/fonts/mplus
    6. $ exit

   Now, I can use FontForge.

**Ref. URLs
   FontForge install procedures for cygwin under MS Windows (The original page does not exist anymore. This is Internet Archive’s. – 2014.11.7)
   FontForgeを使う (Japanese)

Edit(Jul.17):

   Hey guys, I have good news for you. Now, we can use FontForge for Windows with no pains. At this time, its version is 20-06-2014.