2012年10月29日 Converter for SKK's dictionary to OpenPOBox's dictionary [長年日記]
_ Converter for SKK's dictionary to OpenPOBox's dictionary
#! /bin/sh # # skk2pbdic.sh # for i in `cat $* |\ egrep -v '^;' |\ sed -e 's/ */=/g'` do yomi=`echo $i |\ cut -d '=' -f 1 |\ sed -e 's/ー/-/g;s/ン/nn/g;s/ん/nn/g' |\ kakasi -rk -Ea -Ka -Ha -Ja |\ tr 'A-Z' 'a-z'` tangos=`echo $i |\ cut -d '=' -f 2- |\ sed -e 's/;[^/]*\//\//g; s/^\///; s/\/$//; s/\// /g'` for j in ${tangos} do tango=`echo $j |\ tr '=' ' '` echo -e "${yomi}\t${tango}" done done
How to use
skk2pbdic.sh SKK-JISYO.L | sort | uniq >staticdic
Links
2012年10月31日 w100fb double buffering patch for linux-3.1.10(zaurus ARMedslack-14.0) [長年日記]
_ double buffering patch for w100fb.c of linux-3.1.10
This double buffering patch for w100fb.c is based on w100_pan_display - steleto's diary.
*** drivers/video/w100fb.c.ORG 2012-10-30 12:21:33.240038082 +0900 --- drivers/video/w100fb.c 2012-10-30 13:23:10.080014686 +0900 *************** *** 520,526 **** par->mode = w100fb_get_mode(par, &par->xres, &par->yres, 0); info->fix.visual = FB_VISUAL_TRUECOLOR; ! info->fix.ypanstep = 0; info->fix.ywrapstep = 0; info->fix.line_length = par->xres * BITS_PER_PIXEL / 8; --- 520,526 ---- par->mode = w100fb_get_mode(par, &par->xres, &par->yres, 0); info->fix.visual = FB_VISUAL_TRUECOLOR; ! info->fix.ypanstep = 1; info->fix.ywrapstep = 0; info->fix.line_length = par->xres * BITS_PER_PIXEL / 8; *************** *** 540,545 **** --- 540,580 ---- } + static int w100fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) + { + struct w100fb_par *par = info->par; + int yres = 0, offset = 0; + + if (par->xres == par->mode->xres) { + if (par->flip) { + /* 180 degree */ + yres = info->var.yres + var->yoffset; + offset = (info->var.xres * yres) - 1; + } else { + /* 0 degree */ + offset = info->var.xres * var->yoffset; + } + } else { + if (par->flip) { + /* 270 degree */ + offset = info->var.xres * var->yoffset - 1; + } else { + /* 90 degree */ + yres = info->var.yres + var->yoffset; + offset = par->xres * (yres - 1); + } + } + + w100_update_disable(); + + writel(W100_FB_BASE + ((offset * BITS_PER_PIXEL / 8) & ~0x03UL), + remapped_regs + mmGRAPHIC_OFFSET); + + w100_update_enable(); + + return 0; + } + /* * Frame buffer operations */ *************** *** 553,558 **** --- 588,594 ---- .fb_copyarea = w100fb_copyarea, .fb_imageblit = cfb_imageblit, .fb_sync = w100fb_sync, + .fb_pan_display = w100fb_pan_display, }; #ifdef CONFIG_PM