From 18f7f11dfd6c9fcfe541d5b609f89302409e321b Mon Sep 17 00:00:00 2001 From: Lillian Skinner <56081713+rvtr@users.noreply.github.com> Date: Thu, 7 Dec 2023 10:42:52 -0500 Subject: [PATCH] Upload shop contents --- NCL/ec/activeKeyboard.js | 5 + NCL/ec/ec.js | 113 ++ NCL/ec/ec_deviceInfo.html | 11 + NCL/ec/ec_deviceInfo_d.html | 172 ++ NCL/ec/ec_deviceInfo_u.html | 108 ++ NCL/ec/ec_download.html | 374 ++++ NCL/ec/ec_example.html | 1633 +++++++++++++++++ NCL/ec/ec_example.js | 221 +++ NCL/ec/ec_example_index.html | 11 + NCL/ec/ec_point.html | Bin 0 -> 10773 bytes NCL/ec/ec_u.html | 19 + NCL/ec/progress_bar.gif | Bin 0 -> 95 bytes NCL/ec/progress_bar_border.gif | Bin 0 -> 185 bytes NCL/ec/syncEc.js | 59 + NCL/index.html | 11 + NCL/index_d.html | 105 ++ NCL/index_u.html | 82 + NCL/tools/ShowErrorPage.html | 25 + NCL/tools/default.css | 39 + NCL/tools/default.js | 32 + SMC/ec/activeKeyboard.js | 5 + SMC/ec/ec.js | 113 ++ SMC/ec/ec_deviceInfo.html | 11 + SMC/ec/ec_deviceInfo_d.html | 173 ++ SMC/ec/ec_deviceInfo_u.html | 110 ++ SMC/ec/ec_example.html | 1633 +++++++++++++++++ SMC/ec/ec_example.js | 221 +++ SMC/ec/ec_example_index.html | 11 + SMC/ec/ec_u.html | 15 + SMC/ec/progress_bar.gif | Bin 0 -> 95 bytes SMC/ec/progress_bar_border.gif | Bin 0 -> 185 bytes SMC/ec/syncEc.js | 59 + SMC/font_check/css/def.css | 1286 +++++++++++++ SMC/font_check/css/page/L_03_eur_u.css | 22 + SMC/font_check/js/base.js | 1010 ++++++++++ SMC/font_check/js/kong.js | 544 ++++++ SMC/font_check/js/load_kong.js | 57 + SMC/font_check/js/multi_page_DOM.js | 233 +++ SMC/font_check/js/se.js | 9 + SMC/font_check/shopmock/default.css | 45 + SMC/font_check/shopmock/fontlist_01_d.html | 172 ++ .../shopmock/fontlist_01_index.html | 11 + SMC/font_check/shopmock/fontlist_01_u.html | 136 ++ SMC/font_check/shopmock/fontlist_02_d.html | 170 ++ .../shopmock/fontlist_02_index.html | 11 + SMC/font_check/shopmock/fontlist_02_u.html | 153 ++ SMC/font_check/shopmock/fontlist_03_d.html | 170 ++ .../shopmock/fontlist_03_index.html | 11 + SMC/font_check/shopmock/fontlist_03_u.html | 427 +++++ SMC/font_check/shopmock/fontlist_04_d.html | 170 ++ .../shopmock/fontlist_04_index.html | 11 + SMC/font_check/shopmock/fontlist_04_u.html | 484 +++++ SMC/font_check/shopmock/index.html | 11 + SMC/font_check/shopmock/index_d.html | 52 + SMC/font_check/shopmock/index_u.html | 28 + SMC/index.html | 11 + SMC/index_d.html | 70 + SMC/index_u.html | 81 + SMC/tools/ShowErrorPage.html | 25 + SMC/tools/default.css | 40 + SMC/tools/default.js | 32 + common/css/default.css | 46 + common/js/default.js | 32 + startup.html | 27 + startup_d.html | 67 + startup_u.html | 81 + 66 files changed, 11106 insertions(+) create mode 100644 NCL/ec/activeKeyboard.js create mode 100644 NCL/ec/ec.js create mode 100644 NCL/ec/ec_deviceInfo.html create mode 100644 NCL/ec/ec_deviceInfo_d.html create mode 100644 NCL/ec/ec_deviceInfo_u.html create mode 100644 NCL/ec/ec_download.html create mode 100644 NCL/ec/ec_example.html create mode 100644 NCL/ec/ec_example.js create mode 100644 NCL/ec/ec_example_index.html create mode 100644 NCL/ec/ec_point.html create mode 100644 NCL/ec/ec_u.html create mode 100644 NCL/ec/progress_bar.gif create mode 100644 NCL/ec/progress_bar_border.gif create mode 100644 NCL/ec/syncEc.js create mode 100644 NCL/index.html create mode 100644 NCL/index_d.html create mode 100644 NCL/index_u.html create mode 100644 NCL/tools/ShowErrorPage.html create mode 100644 NCL/tools/default.css create mode 100644 NCL/tools/default.js create mode 100644 SMC/ec/activeKeyboard.js create mode 100644 SMC/ec/ec.js create mode 100644 SMC/ec/ec_deviceInfo.html create mode 100644 SMC/ec/ec_deviceInfo_d.html create mode 100644 SMC/ec/ec_deviceInfo_u.html create mode 100644 SMC/ec/ec_example.html create mode 100644 SMC/ec/ec_example.js create mode 100644 SMC/ec/ec_example_index.html create mode 100644 SMC/ec/ec_u.html create mode 100644 SMC/ec/progress_bar.gif create mode 100644 SMC/ec/progress_bar_border.gif create mode 100644 SMC/ec/syncEc.js create mode 100644 SMC/font_check/css/def.css create mode 100644 SMC/font_check/css/page/L_03_eur_u.css create mode 100644 SMC/font_check/js/base.js create mode 100644 SMC/font_check/js/kong.js create mode 100644 SMC/font_check/js/load_kong.js create mode 100644 SMC/font_check/js/multi_page_DOM.js create mode 100644 SMC/font_check/js/se.js create mode 100644 SMC/font_check/shopmock/default.css create mode 100644 SMC/font_check/shopmock/fontlist_01_d.html create mode 100644 SMC/font_check/shopmock/fontlist_01_index.html create mode 100644 SMC/font_check/shopmock/fontlist_01_u.html create mode 100644 SMC/font_check/shopmock/fontlist_02_d.html create mode 100644 SMC/font_check/shopmock/fontlist_02_index.html create mode 100644 SMC/font_check/shopmock/fontlist_02_u.html create mode 100644 SMC/font_check/shopmock/fontlist_03_d.html create mode 100644 SMC/font_check/shopmock/fontlist_03_index.html create mode 100644 SMC/font_check/shopmock/fontlist_03_u.html create mode 100644 SMC/font_check/shopmock/fontlist_04_d.html create mode 100644 SMC/font_check/shopmock/fontlist_04_index.html create mode 100644 SMC/font_check/shopmock/fontlist_04_u.html create mode 100644 SMC/font_check/shopmock/index.html create mode 100644 SMC/font_check/shopmock/index_d.html create mode 100644 SMC/font_check/shopmock/index_u.html create mode 100644 SMC/index.html create mode 100644 SMC/index_d.html create mode 100644 SMC/index_u.html create mode 100644 SMC/tools/ShowErrorPage.html create mode 100644 SMC/tools/default.css create mode 100644 SMC/tools/default.js create mode 100644 common/css/default.css create mode 100644 common/js/default.js create mode 100644 startup.html create mode 100644 startup_d.html create mode 100644 startup_u.html diff --git a/NCL/ec/activeKeyboard.js b/NCL/ec/activeKeyboard.js new file mode 100644 index 0000000..6e62114 --- /dev/null +++ b/NCL/ec/activeKeyboard.js @@ -0,0 +1,5 @@ +function ActiveKeyboard( type, title, field ) +{ + var kong_ = new Kong; + kong_.KbdActive( type, title, field ); +} \ No newline at end of file diff --git a/NCL/ec/ec.js b/NCL/ec/ec.js new file mode 100644 index 0000000..543c964 --- /dev/null +++ b/NCL/ec/ec.js @@ -0,0 +1,113 @@ +/* ECError values */ +var EC_ERROR_OK = 0; /* No error */ +var EC_ERROR_FAIL = -4001; /* Generic error */ +var EC_ERROR_NOT_SUPPORTED = -4002; /* Feature not implemented */ +var EC_ERROR_INSUFICIENT_RESOURCE = -4003; +var EC_ERROR_INVALID = -4004; +var EC_ERROR_NOMEM = -4005; +var EC_ERROR_NOT_FOUND = -4006; +var EC_ERROR_NOT_BUSY = -4007; /* no active async operation */ +var EC_ERROR_BUSY = -4008; +var EC_ERROR_NOT_DONE = -4009; + +var EC_ERROR_NET_NA = -4013; /* Internet access not available */ +var EC_ERROR_WS_REPORT = -4015; /* Server reports a problem */ +var EC_ERROR_ECARD = -4017; /* Invalid eCard */ +var EC_ERROR_OVERFLOW = -4018; /* Output too big for buf provided */ +var EC_ERROR_NET_CONTENT = -4019; /* Error getting content from server */ +var EC_ERROR_CONTENT_SIZE = -4020; /* Downloaded content size doesn't match tmd */ + +var EC_ERROR_WS_RESP = -4034 /* invalid web service response */ +var EC_ERROR_TICKET = -4035; /* problem importing ticket */ +var EC_ERROR_TITLE = -4036; /* problem importing title */ +var EC_ERROR_TITLE_CONTENT = -4037; /* problem importing title content */ +var EC_ERROR_CANCELED = -4038; /* an extended operation was canceled */ +var EC_ERROR_ALREADY = -4039; /* one time only action was previously done */ + +var EC_ERROR_INIT = -4041; /* library has not been initialized */ +var EC_ERROR_REGISTER = -4042; /* device is not registered */ +var EC_ERROR_WS_RECV = -4043; /* recv error on web service response */ +var EC_ERROR_NOT_ACTIVE = -4044; /* expected operation is not active op */ +var EC_ERROR_FILE_READ = -4045; +var EC_ERROR_FILE_WRITE = -4046; + +var EC_ERROR_DEVICE_KEY_PAIR = -4047 /* problem importing device key pair */ +var EC_ERROR_CERT_CHAIN = -4048 /* problem importing cert chain */ + +var EC_ERROR_NOT_OWNED = -4050; /* Title is not owned */ +var EC_ERROR_BAD_HEAP = -4051; /* An invalid heap was passed to eclib */ +var EC_ERROR_HTTP_HDR_PARSE = -4052; /* Could not parse http header */ +var EC_ERROR_CONFIG = -4053; /* Invalid configuration (e.g. url is invalid) */ +var EC_ERROR_CANCEL_FAILED = -4054; /* Could not cancel asynchronous operaton */ +var EC_ERROR_USER_INODES = -4055; /* Operation would exceed max user inodes */ +var EC_ERROR_USER_BLOCKS = -4056; /* Operation would exceed max user blocks */ +var EC_ERROR_SYS_INODES = -4057; /* Operation would exceed max sys inodes */ +var EC_ERROR_SYS_BLOCKS = -4058; /* Operation would exceed max sys blocks */ + +var EC_ERROR_NO_DEVICE_CODE = -4065; /* Operation requires device code */ +var EC_ERROR_SYNC = -4066; /* Operation requires ticket sync */ +var EC_ERROR_CONNECT = -4069; /* Operation requires EC_Connect() */ +var EC_ERROR_NO_TMD = -4070; /* Title TMD is not on device */ +var EC_ERROR_FIRMWARE = -4071; /* Title requires updated firmware */ +var EC_ERROR_NO_DEVICE_KEY_PAIR = -4072 /* Operation requires device key pair */ + +var EC_ERROR_PCPW = -4073; /* Operation requires parental control password */ +var EC_ERROR_INVALID_PCPW = -4074; /* Parental control password doesn't match */ +var EC_ERROR_PC_DISABLED = -4075; /* Parental control is not enabled */ +var EC_ERROR_EULA = -4076; /* Customer has not agreed to EULA */ + +var EC_ERROR_RANGE_START = -4000; +var EC_ERROR_RANGE_END = -4199; + +var EC_ISFS_ERROR_START = -101; +var EC_ISFS_ERROR_END = -199; +var EC_ES_ERROR_START = -1000; +var EC_ES_ERROR_END = -1999; +var EC_HTTP_STATUS_RANGE_START = -4400; /* corresponds to http status 100 */ +var EC_HTTP_STATUS_RANGE_END = -4899; +var EC_NHTTP_ERROR_RANGE_START = -4900; +var EC_NHTTP_ERROR_RANGE_END = -4959; +var EC_SSL_ERROR_RANGE_START = -4960; +var EC_SSL_ERROR_RANGE_END = -4979; +var EC_NHTTP_APIERR_RANGE_START = -4980; +var EC_NHTTP_APIERR_RANGE_END = -4999; + +/* Unexpected NHTTP API errors */ +var EC_ERROR_NHTTP_SMO = -4990; +var EC_ERROR_NHTTP_SCA = -4991; +var EC_ERROR_NHTTP_CRX = -4992; +var EC_ERROR_NHTTP_AHF = -4993; +var EC_ERROR_NHTTP_SCCD = -4994; +var EC_ERROR_NHTTP_SRCD = -4995; +var EC_ERROR_NHTTP_SVO = -4996; +var EC_ERROR_NHTTP_PDE = -4997; +var EC_ERROR_NHTTP_PDR = -4998; +var EC_ERROR_NHTTP_SRA = -4999; + +/* -101 to - max ISFS error are ISFS errors + * -1000 to - max ESError are errors returned by ES + * -4400 to -4899 correspond to http status codes 100 to 599 + * -4900 to -4959 are NHTTPError values + * -4960 to -4979 are values returned by NHTTPSSLGetError() + * -4980 to -4999 are unexpected HHTTP API errors + */ + + +var EC_INVALID_ACCOUNT_ID = ""; + + +var ECOPT_JS_TEST_MODE = 0; /* can never set from JavaScript */ +var ECOPT_LOG_LEVEL = 1; +var ECOPT_RE_DOWNLOAD_CONTENT = 2; +var ECOPT_INVALID = 3; + +var EC_JS_TM_OFF = 0; +var EC_JS_TM_ON = 1; + +var EC_LOG_NONE = 0; +var EC_LOG_ERR = 1; +var EC_LOG_WARN = 2; +var EC_LOG_INFO = 3; +var EC_LOG_FINE = 4; +var EC_LOG_FINER = 5; +var EC_LOG_FINEST = 6; diff --git a/NCL/ec/ec_deviceInfo.html b/NCL/ec/ec_deviceInfo.html new file mode 100644 index 0000000..2d9e1bf --- /dev/null +++ b/NCL/ec/ec_deviceInfo.html @@ -0,0 +1,11 @@ +--- +title: DSi Shop +layout: dsiware +--- +
+ +
+ +
diff --git a/NCL/ec/ec_deviceInfo_d.html b/NCL/ec/ec_deviceInfo_d.html new file mode 100644 index 0000000..00b70a9 --- /dev/null +++ b/NCL/ec/ec_deviceInfo_d.html @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + +
pctrl flags 1
pctrl ogn 1
need sync false
import all true
last sync 1574287523000
2019/11/20 22:05:23
pcontrol ena true
free ch app 3
inodes used/max 0 / 0
deviceCode
actDeviceCode
wireless MAC 69:69:69:69:69:69
blue2th MAC
+ + + + + +
+ + diff --git a/NCL/ec/ec_deviceInfo_u.html b/NCL/ec/ec_deviceInfo_u.html new file mode 100644 index 0000000..84391de --- /dev/null +++ b/NCL/ec/ec_deviceInfo_u.html @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +
deviceId 13685480607
titleId 00030015484E4643
serial WW414572520
orig serial
accountId 12345678
reg status
country/region/langCA / USA / en
actCountry CA
extAccountId
block size 16384
block used/total 6981 / 8192
netRestrict 0
user age 16
+ + + + + +
+ + diff --git a/NCL/ec/ec_download.html b/NCL/ec/ec_download.html new file mode 100644 index 0000000..5db07c9 --- /dev/null +++ b/NCL/ec/ec_download.html @@ -0,0 +1,374 @@ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
titleId
itemId
amount
+ +
+
+ + +
+ +
+ +
+
+ + diff --git a/NCL/ec/ec_example.html b/NCL/ec/ec_example.html new file mode 100644 index 0000000..8a4cdd3 --- /dev/null +++ b/NCL/ec/ec_example.html @@ -0,0 +1,1633 @@ + + + + ECommerce Object Example + + + + + + + + + + + + +
Nintendo Wifi (tss https auth)
+
Nintendo Wifi (tss https no auth)
+
Nintendo Wifi (tss http)
+ +

EC Lib tests

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

unknown

not registered

unknown

+
+
+
+
+
+
+ + + diff --git a/NCL/ec/ec_example.js b/NCL/ec/ec_example.js new file mode 100644 index 0000000..377af2a --- /dev/null +++ b/NCL/ec/ec_example.js @@ -0,0 +1,221 @@ +//------------------------------------------------------------------- +// +// Progress Bar +// +// This is a javascript that simulates a progress bar on the page. +// The progress is based on the return value of an external functional call +// +// Usage: showProgressBar(ec,tbpFunction,doneFunction,divObj, +// timeInterval,message1, message2, +// color,height,width,style) +// ecVarName - ECommerceInterface object variable name string +// tbpFunction - returns progess text and bar %. see updateProgress() +// (tbp stands for text and bar per cent) +// doneFunction - javascript function to call upon completion +// divObj - id of the div object that act as a container of this progress bar +// timeInterval - time interval (milliseconds) to obtain the status and update the progress bar +// message1 - a msg string to display before the progress % +// message2 - a msg string to display after the progress % +// color - color for the bar/outer boundary of the box +// height - height of the box/bar +// width - total width of the box/bar +// style - style for the message string displayed above the progress bar +// +// Requirements: Following code must be included in the page +// +// var ec = new ECommerceObj; // global variable +// +//
+// +// Where the name used for ec and divObj are passed as args to showProgressBar. +// +//------------------------------------------------------------------- + +function showProgressBar(ecVarName,tbpFunction,doneFunction,divObj, + timeInterval,message1,message2, + color,height,width,style) +{ + var pbColor = (color!=null && color!='') ? color : "#006666"; + var pbHeight = (height!=null && height!='') ? height : "20"; + var pbWidth = (width!=null && width!='') ? width : "400"; + var msgString1 = (message1!=null && message1!='') ? message1 : ""; + var msgString2 = (message2!=null && message2!='') ? message2 : ""; + var msgStyle = (style!=null && style!='') ? style : "font:bold; color:#FA8072;"; + + document.getElementById(divObj).innerHTML = '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '
' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '
 
' + + '
' + + '
' + + '
' + + '
' + + '
' + + ' ' + + '
' + + '
center
' + + '
'; + + updateProgress(ecVarName,tbpFunction,doneFunction,timeInterval,msgString1,msgString2,pbWidth); +} + +//------------------------------------------------------------------- +// +// The progress bar will keep obtaining the status after every timeInterval milliseconds +// +//------------------------------------------------------------------- + +function updateProgress(ecVarName,tbpFunction,doneFunction,timeInterval, + msgString1,msgString2,barSize) +{ + var result; + var m; + var barPerCent = new Object; + eval("var progress = " +ecVarName+".getProgress();"); + + if (progress.status != EC_ERROR_NOT_DONE) { + document.getElementById('msg').innerText = ""; + document.getElementById('box').style.visibility = 'hidden'; + eval(doneFunction+"(progress)"); + return; + } + + eval("result = " +tbpFunction+"(barPerCent, progress);"); + + m = document.getElementById('msg'); + + if (msgString1 != null) + m.innerHTML = msgString1; + if (result != null) + m.innerHTML += " " + result; + if (msgString2 != null) + m.innerHTML += msgString2; + + document.getElementById('bar').style.width = barPerCent.value + '%'; + + setTimeout("updateProgress(\""+ecVarName+"\",\""+ + tbpFunction+"\",\""+doneFunction+"\",\""+timeInterval+"\",\""+ + msgString1+"\",\""+msgString2+"\",\""+barSize+"\");", timeInterval); + +} + +//------------------------------------------------------------------- +// Trim functions +// Returns string with whitespace trimmed +//------------------------------------------------------------------- + +function LTrim(str) +{ + if (str==null) + { + return str; + } + + for (var i=0; str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t"; i++); + + return str.substring(i,str.length); +} + +function RTrim(str) +{ + if (str==null) + { + return str; + } + + for (var i=str.length-1; str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t"; i--); + + return str.substring(0,i+1); +} + +function Trim(str) +{ + return LTrim(RTrim(str)); +} + + + + +function errString (errCode) +{ + var a = new Array(); + + a[0] = "OK"; + a[-(EC_ERROR_FAIL)] = "Generic error"; + a[-(EC_ERROR_NOT_SUPPORTED)] = "Feature not implemented"; + a[-(EC_ERROR_INSUFICIENT_RESOURCE)] = "Insufficient resource"; + a[-(EC_ERROR_INVALID)] = "Invalid argument"; + a[-(EC_ERROR_NOMEM)] = "Insufficient memory"; + a[-(EC_ERROR_NOT_FOUND)] = "Not found"; + a[-(EC_ERROR_NOT_BUSY)] = "No active async operation"; + a[-(EC_ERROR_BUSY)] = "Busy"; + a[-(EC_ERROR_NOT_DONE)] = "Not done"; + + a[-(EC_ERROR_NET_NA)] = "Internet access not available"; + a[-(EC_ERROR_WS_REPORT)] = "Server reports a problem"; + a[-(EC_ERROR_ECARD)] = "Invalid eCard"; + + a[-(EC_ERROR_NET_CONTENT)] = "Error downloading content"; + a[-(EC_ERROR_CONTENT_SIZE)] = "Downloaded content size is not expected value"; + + a[-(EC_ERROR_WS_RESP)] = "invalid web service response"; + a[-(EC_ERROR_TICKET)] = "problem importing ticket"; + a[-(EC_ERROR_TITLE)] = "problem importing title"; + a[-(EC_ERROR_TITLE_CONTENT)] = "problem importing title content"; + a[-(EC_ERROR_CANCELED)] = "The operation was canceled."; + a[-(EC_ERROR_ALREADY)] = "one time only action was previously done"; + + a[-(EC_ERROR_INIT)] = "library has not been initialized"; + a[-(EC_ERROR_REGISTER)] = "virtual console is not registered"; + + a[-(EC_ERROR_WS_RECV)] = "recv error on web service response"; + a[-(EC_ERROR_NOT_ACTIVE)] = "expected operation is not active op"; + + a[-(EC_ERROR_FILE_READ)] = "Error reading a file"; + a[-(EC_ERROR_FILE_WRITE)] = "Error writing a file"; + + a[-(EC_ERROR_NOT_OWNED)] = "Title is not owned"; + a[-(EC_ERROR_BAD_HEAP)] = "An invalid heap was passed to eclib"; + a[-(EC_ERROR_HTTP_HDR_PARSE)] = "Could not parse http header"; + a[-(EC_ERROR_CONFIG)] = "Invlaid configuration (e.g. url is invalid)"; + + var msg = a[-errCode]; + + if (msg == null) { + msg = "Unrecognized Error Code: " + errCode; + } + + return msg; +} + +/* returns 0 if not in HTTPStatus ECError range */ +function errCodeToHTTPStatus (errCode) +{ + if (errCode > EC_HTTP_STATUS_RANGE_START || errCode < EC_HTTP_STATUS_RANGE_END) { + return 0; + } else { + return (-(errCode - EC_ERROR_RANGE_START)) + 100; + } +} + diff --git a/NCL/ec/ec_example_index.html b/NCL/ec/ec_example_index.html new file mode 100644 index 0000000..321c854 --- /dev/null +++ b/NCL/ec/ec_example_index.html @@ -0,0 +1,11 @@ +--- +title: DSi Shop +layout: dsiware +--- +
+ +
+ +
diff --git a/NCL/ec/ec_point.html b/NCL/ec/ec_point.html new file mode 100644 index 0000000000000000000000000000000000000000..3ba30a63ec39dd0ae39cea6615b2ef81a7c49bdd GIT binary patch literal 10773 zcmds7UvC@75!WmE*iW#&05R=|JV}<_R3ZgSlx#DxEkRUl2STDA@0R36$2<1!NSSpF zxJ`{VK-;{vD3GW2r4M~CQWyFP?q_JwCVA3V=x=84FLk11Cq>)PhIrhanVo+-Gdp|r zOPkxxz4v#vL_ZujV&}b$yRD|ss=EI0T2t3I_cq0yy?b}Xa&2Kz?D>Wp*rDyYhNJ6S z_cfvQ!*IBw>qkdNwWDh_&+qAbyE>6t)*a6aWX%dKZLM6VA^MVrg|C4O4J;TAtMW%9 zd)&~Po*POxtnN*QQWK{7)zCuuIAm(8!t5J{j0hb?{eL--9zC^ zr=bPm#F0T?%1{#_2u5_wAkakLm)(X|tLgY}dV_)I>KNB8*)>K^SR)wFW(sTNj%Q8E zPs#$HE?BAt_K)R?SX>xBUM)W@zu}F-;V6s%I)-`J^SzO4RZY+F{1x#=vw7=Qv&o=C z-|P7@2u=gr1EU9`Bj2fLG1NiF@M}H0t6f`$A&MYDH_6+M`Ei96HDKeEx4E8HB4E7N(rRb z4h=utG(ri`h1GJNaM$Z>gY>WSq`M>6BGOtptHJYc z39a7o*EI5iJpPvNdwxa4Hcu!;#Now8I10py(8OB_R4p1M$A|&Fq4W*rYYH}<$byGn zXgFD3m(N<0{Rc0f-QNG2JUnruW?!0z?8n=&3l#X1-4&V9 z1~$gXao}yGC*=}FHswazdb_=~yO%hchynBBlafll3`f2Ts$Ii@F=*^52T4gkbL++a zS{DoA%{LS3@$jVvw&=mu?(X*P!Ts&MgU#*xTc=s$og(srUgFr8@XsI_G0*0+L`){a zC!&P@D3;_YVgbZK1nbFgCkot^E3m~`Hb{UH0h8UF(?+7y|AO{UEvd8`v;H5|r&8#6 z`;oVQ_t69LVG6-JyW6*Sx7zK4jrHAwhpo-MI|#){T&t;vzc;iHp<^C548+Sc;>-(< zSc$5MCQ=}XR2Rk70`jZuq-+s|3HMt7I(ZR&6mkJuS2L>$JzBO}xI#%89BiyHZQf#v zFtSW(7`YQR0BV$4n%j4x+zsvt8i7FNZ%!Qf0l&J2LmacmW5i*4kzoQ zuuo4Wr>7~R<|(2W$rHsuO0;PpZ+Si2?M)Lhv)n;Qb6Q9Y=&|2q#2URSA}a)O0d?p@ z*=dhWXg3fQ=nxO{k(%a(k_;h;^ryh1`c}b%9fnuy1MX?Q{7CDWqNlPbi+%Cci%*}l zQ2c!H@rw_z4pteCeALK++@rc!%)NZJG57V0&*r}P*&oz=CYT9eosPS6AUF5LPml5S z_3u9Z$Mer`&i(y(LoJ6fTIS2o|8{roU!VP%R{r|MU%tmE!Nwd(T9A!sxR|q(o&;OD@7`a~)U_8jv$=SFUJkx8{e%$?@}oG!lz*b8eil7e^8rAX!e1e-$m3 zM0b`Y&ry*TipCJv@;g;N`S9gbdCIBfC(WKYmrLchk!d^>l|gR*9(r!?0Na;J*>~|w z#Va@$JYH+}y`#IR%&;R`I5E*=saz_kLbRAV=ghJSQJ0DgRv~lYgoL9?ziF6#X>Aw| z6;eol_@@enC(-(MY)j_X$MK6QgUZ5{Rq>RV;b0i86zje+)4Z>>jEelEJ}65$#}xNa zO;qQ+?~RapSl3Z$hk(nd6m!Es=_u9mX(`oqg&|#hKOU*`Pvu~qlq%+m8TJtXMdPq zpk#QQ7YSdnh~7~3EAq~mFDA2v<12gl|E-UgR2V6CaEfGb@$k<6SI3{-f7t20v)@1Y z(;pB2`RQ*@j(?7D+w`SnhfTw`c8m!*Far3^+*Ux;IR$jf_Xf8-e~=4vW_nydg}_k_ ztdvZ%c4)g+>JE`R(g1o<&4U#6UBDeYumdCGee)5H`kj_oO7;w^^di7DWY?Vx?uYocZY{S0tsq8J4m2`!WY6rPB2 z$a)be6uPM63J}ypf`Me3*t{Vw-@BY>;X7)#^jMAk5Eq5f7X0h)Z5!EUJZbi)_u*D% z3&Oik??DEj03Pkr!YwF?3XGzfW?7oN0eQL>Icw}5JUHd3kr1dOn4l6vg_1ak96x`^ z!rVP4cWzA59i4=WqUt72tt!c6(b8Pb$xOv5NI5$)aT!GjDpMz}s(vO8$|SjRNV9ta z%eyT|CvsRS^Cz(CX99sr<<)D5NVJUGC?&@pb8)4!?O#dXj4?yiJYVR5-wjP4Z0+}> zwnoyL+l;!V6a`0tYGWiyWzWggNxf{NNd-F9M@ZWR+zduj?)14$H87rVQc@|3I7)sN zZJC%o#Qa*V# zDz`&=M6JC)2tJ5bj&oXG=CmI@)u$nFRm~^;wpx6=kJ{9rujl&aDKT2QGYO?yJzlz? z)0FgT^0ZNL##Tv*V&lb>&>SFXaUp;MY^>8sRk|tBhnBKI{(qW3g=rdD*_Q*74 zBthwa!E>kGG4+gMcT2?l_WUj(`3)_EW>ix9pB#T8)B#F-xQ*iC%U^sVySXC2Ekmm3 zA5e*$3vhN^POSUBG2s}(L&k7evn^~AmGEl8(6PgcHqW7eCiyAm2T26iA9f z4Q(Blmt*;^oOC=CdzFQGaaqA#zOt&JcK{1QxP^sRY@*#v ziF7`<(@SUhUIO1UxK`fr+Po_C^Ep&-=kS$xowUfksPm*4kf+#v)DcM+bo$H)t-30+ zU1=#c6CTJ+@hNz=@PfRFSIr8)2v^53j>7ruMVI46@enOatY2VF0?RH5KcKfmN=j<{ zo!(jM5R*~LY|a*wt+kXYMA5hacM9+_(tT!&U7z~Qa9cXpUzpWvu@dnRDUt9mz$SrZ zmAJTcZ3a`^K)5hhFi6Z-MuSY_9L|>DQVf@6?H#Z0icL?>;4jm&_=a3&C|!Wp40M*` z9o$-pbtm-BXPJ8@-ww}A>f%f@c$Vwt`uXgtj?K5jucCDh!xUt4ZKN#6KUluDu$*Ul zI!&vlM4Go}=4b|naK#b!^}|S%{+N8!J-L9`g^^@&abfB0>&p~RZY<*~FFkmtx`pZs zDrxX-*<%WgolzL##TL(PI<|S(NUn!)`Gf)p%@M9;g1W8%i%{|{ifqq?X`DU%Dnz+) zP)LtwQc`uDCF2*ws0a3Fvj6Dh_?N=qs`Ys!IHw`JcF1o4rtiJ2j6ECG5C!N&BQgJc zmzp-rpq<=IT{oio?qX!)(_oHbJjlc%N!T$_CzJ)hG{FL>qA5ChBE_k!I_Rm__Tn=s ky*hZHDph`ikgU(jVUl=aGU{zLau=mIovL91Rj+CO8x=4&5dZ)H literal 0 HcmV?d00001 diff --git a/NCL/ec/ec_u.html b/NCL/ec/ec_u.html new file mode 100644 index 0000000..ba3e95b --- /dev/null +++ b/NCL/ec/ec_u.html @@ -0,0 +1,19 @@ + + + + + + +ec_u.html + diff --git a/NCL/ec/progress_bar.gif b/NCL/ec/progress_bar.gif new file mode 100644 index 0000000000000000000000000000000000000000..2fa5e74ef7c626dd50d908e5dd6892ed1cf6d28c GIT binary patch literal 95 zcmZ?wbhEHbyul#A(7?dJ`k$47fk6j|89*WoOm;2(D^I`WUp!~at?teD_Wb5=d*m_g zS?97>r?$Q0KK{w)`nTTazs`OC$Irvneq_7R literal 0 HcmV?d00001 diff --git a/NCL/ec/progress_bar_border.gif b/NCL/ec/progress_bar_border.gif new file mode 100644 index 0000000000000000000000000000000000000000..ac954c65aeb3ea11be4482e3528fa83ef4e0e0b0 GIT binary patch literal 185 zcmZ?wbhEHbyul#AFp+`bKLZFHIB?+q|Nn|VSr|b)9S{MMXJG1@)4cNZTmHp!w%qD2 zHmhM_XnW)_?OErtSEshU<33(^q4rbn^Izw_TfF_q*?weEp~q&~>1UQrmJraGe`VEI zt1iEdch+rR{ + +
+ + diff --git a/NCL/index_d.html b/NCL/index_d.html new file mode 100644 index 0000000..cfb6020 --- /dev/null +++ b/NCL/index_d.html @@ -0,0 +1,105 @@ + + + + +NCL index_d + + + + + + + +

tshop

+ + +

Shop Server

+ + + + + +

EC

+ + +

shop mock

+ + ../shopmock/shopmock/index_x.html + + +

Tools

+エラーシミュレータ/Error Simulator + +

External Link

+注意! UAにNintendoの文字列があるのであまりうろちょろしないこと! + + +

Go Web

+
+
+
+ +

Back to Top

+ + ../startup_x.html + + + + diff --git a/NCL/index_u.html b/NCL/index_u.html new file mode 100644 index 0000000..cabf9de --- /dev/null +++ b/NCL/index_u.html @@ -0,0 +1,82 @@ + + + + +NCL index_u + + + + + + + +

For NCL Developers

+
+Opera/9.50 (Nintendo; Opera/153; U; Nintendo DS; en)
+ + + +
+ + + + + + + +
accountId54319686
deviceId13685480607
serialWW414572520
country/reg/langCA / USA / en
block(x16[KB])5603 / 8192
MAC69:69:69:69:69:69
+
+ + + diff --git a/NCL/tools/ShowErrorPage.html b/NCL/tools/ShowErrorPage.html new file mode 100644 index 0000000..aa3b2c9 --- /dev/null +++ b/NCL/tools/ShowErrorPage.html @@ -0,0 +1,25 @@ + + + + +GetMessage + + + + + +

ShowErrorPage

+
+
+ + diff --git a/NCL/tools/default.css b/NCL/tools/default.css new file mode 100644 index 0000000..c07d0f0 --- /dev/null +++ b/NCL/tools/default.css @@ -0,0 +1,39 @@ +/* Common CSS */ +@font-face { + font-family: dsifont; + src: url(/assets/dsi/nintendo_NTLGDB_001.ttf); +} +html * { + font-family: dsifont; +} +h1 +{ + font-size: 16px; + text-decoration: underline; + background-color: #CCFFCC; + margin: 4px 0px; +} +body +{ + font-size: 12px; +} +table +{ + border-width: 1px; + border-collapse: separate; + border-spacing: 0px; +} +td +{ + padding: 2px; +} +ul +{ + padding: 0px; + margin: 0px 12px; +} + +#up_url, #down_url +{ + width: 95%; +} diff --git a/NCL/tools/default.js b/NCL/tools/default.js new file mode 100644 index 0000000..9bd9d2b --- /dev/null +++ b/NCL/tools/default.js @@ -0,0 +1,32 @@ +function MovePage( up_url, down_url, up_anim, down_anim ) +{ + if ( up_url != "" || down_url != "" ) + { + if ( up_anim == undefined ) up_anim = 0; + if ( down_anim == undefined ) down_anim = 0; + + var kong_ = new Kong(); + kong_.SetTransition( up_anim, down_anim ); + if ( up_url != "" ) + { + window.open( up_url, "UpWindow" ); + } + if ( down_url != "" ) + { + window.open( down_url, "DownWindow" ); + } + } +} + +function ActiveKeyboard( type, title, field ) +{ + var kong_ = new Kong; + kong_.KbdActive( type, title, field); +} + +function GoWeb() +{ + var up = up_url.value; + var down = down_url.value; + MovePage( up, down, 1, 1 ); +} \ No newline at end of file diff --git a/SMC/ec/activeKeyboard.js b/SMC/ec/activeKeyboard.js new file mode 100644 index 0000000..6e62114 --- /dev/null +++ b/SMC/ec/activeKeyboard.js @@ -0,0 +1,5 @@ +function ActiveKeyboard( type, title, field ) +{ + var kong_ = new Kong; + kong_.KbdActive( type, title, field ); +} \ No newline at end of file diff --git a/SMC/ec/ec.js b/SMC/ec/ec.js new file mode 100644 index 0000000..543c964 --- /dev/null +++ b/SMC/ec/ec.js @@ -0,0 +1,113 @@ +/* ECError values */ +var EC_ERROR_OK = 0; /* No error */ +var EC_ERROR_FAIL = -4001; /* Generic error */ +var EC_ERROR_NOT_SUPPORTED = -4002; /* Feature not implemented */ +var EC_ERROR_INSUFICIENT_RESOURCE = -4003; +var EC_ERROR_INVALID = -4004; +var EC_ERROR_NOMEM = -4005; +var EC_ERROR_NOT_FOUND = -4006; +var EC_ERROR_NOT_BUSY = -4007; /* no active async operation */ +var EC_ERROR_BUSY = -4008; +var EC_ERROR_NOT_DONE = -4009; + +var EC_ERROR_NET_NA = -4013; /* Internet access not available */ +var EC_ERROR_WS_REPORT = -4015; /* Server reports a problem */ +var EC_ERROR_ECARD = -4017; /* Invalid eCard */ +var EC_ERROR_OVERFLOW = -4018; /* Output too big for buf provided */ +var EC_ERROR_NET_CONTENT = -4019; /* Error getting content from server */ +var EC_ERROR_CONTENT_SIZE = -4020; /* Downloaded content size doesn't match tmd */ + +var EC_ERROR_WS_RESP = -4034 /* invalid web service response */ +var EC_ERROR_TICKET = -4035; /* problem importing ticket */ +var EC_ERROR_TITLE = -4036; /* problem importing title */ +var EC_ERROR_TITLE_CONTENT = -4037; /* problem importing title content */ +var EC_ERROR_CANCELED = -4038; /* an extended operation was canceled */ +var EC_ERROR_ALREADY = -4039; /* one time only action was previously done */ + +var EC_ERROR_INIT = -4041; /* library has not been initialized */ +var EC_ERROR_REGISTER = -4042; /* device is not registered */ +var EC_ERROR_WS_RECV = -4043; /* recv error on web service response */ +var EC_ERROR_NOT_ACTIVE = -4044; /* expected operation is not active op */ +var EC_ERROR_FILE_READ = -4045; +var EC_ERROR_FILE_WRITE = -4046; + +var EC_ERROR_DEVICE_KEY_PAIR = -4047 /* problem importing device key pair */ +var EC_ERROR_CERT_CHAIN = -4048 /* problem importing cert chain */ + +var EC_ERROR_NOT_OWNED = -4050; /* Title is not owned */ +var EC_ERROR_BAD_HEAP = -4051; /* An invalid heap was passed to eclib */ +var EC_ERROR_HTTP_HDR_PARSE = -4052; /* Could not parse http header */ +var EC_ERROR_CONFIG = -4053; /* Invalid configuration (e.g. url is invalid) */ +var EC_ERROR_CANCEL_FAILED = -4054; /* Could not cancel asynchronous operaton */ +var EC_ERROR_USER_INODES = -4055; /* Operation would exceed max user inodes */ +var EC_ERROR_USER_BLOCKS = -4056; /* Operation would exceed max user blocks */ +var EC_ERROR_SYS_INODES = -4057; /* Operation would exceed max sys inodes */ +var EC_ERROR_SYS_BLOCKS = -4058; /* Operation would exceed max sys blocks */ + +var EC_ERROR_NO_DEVICE_CODE = -4065; /* Operation requires device code */ +var EC_ERROR_SYNC = -4066; /* Operation requires ticket sync */ +var EC_ERROR_CONNECT = -4069; /* Operation requires EC_Connect() */ +var EC_ERROR_NO_TMD = -4070; /* Title TMD is not on device */ +var EC_ERROR_FIRMWARE = -4071; /* Title requires updated firmware */ +var EC_ERROR_NO_DEVICE_KEY_PAIR = -4072 /* Operation requires device key pair */ + +var EC_ERROR_PCPW = -4073; /* Operation requires parental control password */ +var EC_ERROR_INVALID_PCPW = -4074; /* Parental control password doesn't match */ +var EC_ERROR_PC_DISABLED = -4075; /* Parental control is not enabled */ +var EC_ERROR_EULA = -4076; /* Customer has not agreed to EULA */ + +var EC_ERROR_RANGE_START = -4000; +var EC_ERROR_RANGE_END = -4199; + +var EC_ISFS_ERROR_START = -101; +var EC_ISFS_ERROR_END = -199; +var EC_ES_ERROR_START = -1000; +var EC_ES_ERROR_END = -1999; +var EC_HTTP_STATUS_RANGE_START = -4400; /* corresponds to http status 100 */ +var EC_HTTP_STATUS_RANGE_END = -4899; +var EC_NHTTP_ERROR_RANGE_START = -4900; +var EC_NHTTP_ERROR_RANGE_END = -4959; +var EC_SSL_ERROR_RANGE_START = -4960; +var EC_SSL_ERROR_RANGE_END = -4979; +var EC_NHTTP_APIERR_RANGE_START = -4980; +var EC_NHTTP_APIERR_RANGE_END = -4999; + +/* Unexpected NHTTP API errors */ +var EC_ERROR_NHTTP_SMO = -4990; +var EC_ERROR_NHTTP_SCA = -4991; +var EC_ERROR_NHTTP_CRX = -4992; +var EC_ERROR_NHTTP_AHF = -4993; +var EC_ERROR_NHTTP_SCCD = -4994; +var EC_ERROR_NHTTP_SRCD = -4995; +var EC_ERROR_NHTTP_SVO = -4996; +var EC_ERROR_NHTTP_PDE = -4997; +var EC_ERROR_NHTTP_PDR = -4998; +var EC_ERROR_NHTTP_SRA = -4999; + +/* -101 to - max ISFS error are ISFS errors + * -1000 to - max ESError are errors returned by ES + * -4400 to -4899 correspond to http status codes 100 to 599 + * -4900 to -4959 are NHTTPError values + * -4960 to -4979 are values returned by NHTTPSSLGetError() + * -4980 to -4999 are unexpected HHTTP API errors + */ + + +var EC_INVALID_ACCOUNT_ID = ""; + + +var ECOPT_JS_TEST_MODE = 0; /* can never set from JavaScript */ +var ECOPT_LOG_LEVEL = 1; +var ECOPT_RE_DOWNLOAD_CONTENT = 2; +var ECOPT_INVALID = 3; + +var EC_JS_TM_OFF = 0; +var EC_JS_TM_ON = 1; + +var EC_LOG_NONE = 0; +var EC_LOG_ERR = 1; +var EC_LOG_WARN = 2; +var EC_LOG_INFO = 3; +var EC_LOG_FINE = 4; +var EC_LOG_FINER = 5; +var EC_LOG_FINEST = 6; diff --git a/SMC/ec/ec_deviceInfo.html b/SMC/ec/ec_deviceInfo.html new file mode 100644 index 0000000..2d9e1bf --- /dev/null +++ b/SMC/ec/ec_deviceInfo.html @@ -0,0 +1,11 @@ +--- +title: DSi Shop +layout: dsiware +--- +
+ +
+ +
diff --git a/SMC/ec/ec_deviceInfo_d.html b/SMC/ec/ec_deviceInfo_d.html new file mode 100644 index 0000000..6b72276 --- /dev/null +++ b/SMC/ec/ec_deviceInfo_d.html @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + +
pctrl flags 1
pctrl ogn 1
need sync false
import all true
last sync 1574287523000
2019/11/20 22:05:23
pcontrol ena true
free ch app 3
inodes used/max 0 / 0
deviceCode
actDeviceCode
wireless MAC 69:69:69:69:69:69
blue2th MAC
+ + + + + +
+ + diff --git a/SMC/ec/ec_deviceInfo_u.html b/SMC/ec/ec_deviceInfo_u.html new file mode 100644 index 0000000..5f645c4 --- /dev/null +++ b/SMC/ec/ec_deviceInfo_u.html @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
deviceId 13685480607
titleId 00030015484E4643
serial WW414572520
orig serial
accountId 12345678
reg status
country/region/langCA / USA / en
actCountry CA
extAccountId
block size 16384
block used/total 6981 / 8192
netRestrict 0
user age 16
+ + + + + +
+ + diff --git a/SMC/ec/ec_example.html b/SMC/ec/ec_example.html new file mode 100644 index 0000000..8a4cdd3 --- /dev/null +++ b/SMC/ec/ec_example.html @@ -0,0 +1,1633 @@ + + + + ECommerce Object Example + + + + + + + + + + + + + + + + +

EC Lib tests

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

unknown

not registered

unknown

+
+
+
+
+
+
+ + + diff --git a/SMC/ec/ec_example.js b/SMC/ec/ec_example.js new file mode 100644 index 0000000..377af2a --- /dev/null +++ b/SMC/ec/ec_example.js @@ -0,0 +1,221 @@ +//------------------------------------------------------------------- +// +// Progress Bar +// +// This is a javascript that simulates a progress bar on the page. +// The progress is based on the return value of an external functional call +// +// Usage: showProgressBar(ec,tbpFunction,doneFunction,divObj, +// timeInterval,message1, message2, +// color,height,width,style) +// ecVarName - ECommerceInterface object variable name string +// tbpFunction - returns progess text and bar %. see updateProgress() +// (tbp stands for text and bar per cent) +// doneFunction - javascript function to call upon completion +// divObj - id of the div object that act as a container of this progress bar +// timeInterval - time interval (milliseconds) to obtain the status and update the progress bar +// message1 - a msg string to display before the progress % +// message2 - a msg string to display after the progress % +// color - color for the bar/outer boundary of the box +// height - height of the box/bar +// width - total width of the box/bar +// style - style for the message string displayed above the progress bar +// +// Requirements: Following code must be included in the page +// +// var ec = new ECommerceObj; // global variable +// +//
+// +// Where the name used for ec and divObj are passed as args to showProgressBar. +// +//------------------------------------------------------------------- + +function showProgressBar(ecVarName,tbpFunction,doneFunction,divObj, + timeInterval,message1,message2, + color,height,width,style) +{ + var pbColor = (color!=null && color!='') ? color : "#006666"; + var pbHeight = (height!=null && height!='') ? height : "20"; + var pbWidth = (width!=null && width!='') ? width : "400"; + var msgString1 = (message1!=null && message1!='') ? message1 : ""; + var msgString2 = (message2!=null && message2!='') ? message2 : ""; + var msgStyle = (style!=null && style!='') ? style : "font:bold; color:#FA8072;"; + + document.getElementById(divObj).innerHTML = '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '
' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '
 
' + + '
' + + '
' + + '
' + + '
' + + '
' + + ' ' + + '
' + + '
center
' + + '
'; + + updateProgress(ecVarName,tbpFunction,doneFunction,timeInterval,msgString1,msgString2,pbWidth); +} + +//------------------------------------------------------------------- +// +// The progress bar will keep obtaining the status after every timeInterval milliseconds +// +//------------------------------------------------------------------- + +function updateProgress(ecVarName,tbpFunction,doneFunction,timeInterval, + msgString1,msgString2,barSize) +{ + var result; + var m; + var barPerCent = new Object; + eval("var progress = " +ecVarName+".getProgress();"); + + if (progress.status != EC_ERROR_NOT_DONE) { + document.getElementById('msg').innerText = ""; + document.getElementById('box').style.visibility = 'hidden'; + eval(doneFunction+"(progress)"); + return; + } + + eval("result = " +tbpFunction+"(barPerCent, progress);"); + + m = document.getElementById('msg'); + + if (msgString1 != null) + m.innerHTML = msgString1; + if (result != null) + m.innerHTML += " " + result; + if (msgString2 != null) + m.innerHTML += msgString2; + + document.getElementById('bar').style.width = barPerCent.value + '%'; + + setTimeout("updateProgress(\""+ecVarName+"\",\""+ + tbpFunction+"\",\""+doneFunction+"\",\""+timeInterval+"\",\""+ + msgString1+"\",\""+msgString2+"\",\""+barSize+"\");", timeInterval); + +} + +//------------------------------------------------------------------- +// Trim functions +// Returns string with whitespace trimmed +//------------------------------------------------------------------- + +function LTrim(str) +{ + if (str==null) + { + return str; + } + + for (var i=0; str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t"; i++); + + return str.substring(i,str.length); +} + +function RTrim(str) +{ + if (str==null) + { + return str; + } + + for (var i=str.length-1; str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t"; i--); + + return str.substring(0,i+1); +} + +function Trim(str) +{ + return LTrim(RTrim(str)); +} + + + + +function errString (errCode) +{ + var a = new Array(); + + a[0] = "OK"; + a[-(EC_ERROR_FAIL)] = "Generic error"; + a[-(EC_ERROR_NOT_SUPPORTED)] = "Feature not implemented"; + a[-(EC_ERROR_INSUFICIENT_RESOURCE)] = "Insufficient resource"; + a[-(EC_ERROR_INVALID)] = "Invalid argument"; + a[-(EC_ERROR_NOMEM)] = "Insufficient memory"; + a[-(EC_ERROR_NOT_FOUND)] = "Not found"; + a[-(EC_ERROR_NOT_BUSY)] = "No active async operation"; + a[-(EC_ERROR_BUSY)] = "Busy"; + a[-(EC_ERROR_NOT_DONE)] = "Not done"; + + a[-(EC_ERROR_NET_NA)] = "Internet access not available"; + a[-(EC_ERROR_WS_REPORT)] = "Server reports a problem"; + a[-(EC_ERROR_ECARD)] = "Invalid eCard"; + + a[-(EC_ERROR_NET_CONTENT)] = "Error downloading content"; + a[-(EC_ERROR_CONTENT_SIZE)] = "Downloaded content size is not expected value"; + + a[-(EC_ERROR_WS_RESP)] = "invalid web service response"; + a[-(EC_ERROR_TICKET)] = "problem importing ticket"; + a[-(EC_ERROR_TITLE)] = "problem importing title"; + a[-(EC_ERROR_TITLE_CONTENT)] = "problem importing title content"; + a[-(EC_ERROR_CANCELED)] = "The operation was canceled."; + a[-(EC_ERROR_ALREADY)] = "one time only action was previously done"; + + a[-(EC_ERROR_INIT)] = "library has not been initialized"; + a[-(EC_ERROR_REGISTER)] = "virtual console is not registered"; + + a[-(EC_ERROR_WS_RECV)] = "recv error on web service response"; + a[-(EC_ERROR_NOT_ACTIVE)] = "expected operation is not active op"; + + a[-(EC_ERROR_FILE_READ)] = "Error reading a file"; + a[-(EC_ERROR_FILE_WRITE)] = "Error writing a file"; + + a[-(EC_ERROR_NOT_OWNED)] = "Title is not owned"; + a[-(EC_ERROR_BAD_HEAP)] = "An invalid heap was passed to eclib"; + a[-(EC_ERROR_HTTP_HDR_PARSE)] = "Could not parse http header"; + a[-(EC_ERROR_CONFIG)] = "Invlaid configuration (e.g. url is invalid)"; + + var msg = a[-errCode]; + + if (msg == null) { + msg = "Unrecognized Error Code: " + errCode; + } + + return msg; +} + +/* returns 0 if not in HTTPStatus ECError range */ +function errCodeToHTTPStatus (errCode) +{ + if (errCode > EC_HTTP_STATUS_RANGE_START || errCode < EC_HTTP_STATUS_RANGE_END) { + return 0; + } else { + return (-(errCode - EC_ERROR_RANGE_START)) + 100; + } +} + diff --git a/SMC/ec/ec_example_index.html b/SMC/ec/ec_example_index.html new file mode 100644 index 0000000..321c854 --- /dev/null +++ b/SMC/ec/ec_example_index.html @@ -0,0 +1,11 @@ +--- +title: DSi Shop +layout: dsiware +--- +
+ +
+ +
diff --git a/SMC/ec/ec_u.html b/SMC/ec/ec_u.html new file mode 100644 index 0000000..a5c75bb --- /dev/null +++ b/SMC/ec/ec_u.html @@ -0,0 +1,15 @@ + + + + + + + + +ec_u.html + + diff --git a/SMC/ec/progress_bar.gif b/SMC/ec/progress_bar.gif new file mode 100644 index 0000000000000000000000000000000000000000..2fa5e74ef7c626dd50d908e5dd6892ed1cf6d28c GIT binary patch literal 95 zcmZ?wbhEHbyul#A(7?dJ`k$47fk6j|89*WoOm;2(D^I`WUp!~at?teD_Wb5=d*m_g zS?97>r?$Q0KK{w)`nTTazs`OC$Irvneq_7R literal 0 HcmV?d00001 diff --git a/SMC/ec/progress_bar_border.gif b/SMC/ec/progress_bar_border.gif new file mode 100644 index 0000000000000000000000000000000000000000..ac954c65aeb3ea11be4482e3528fa83ef4e0e0b0 GIT binary patch literal 185 zcmZ?wbhEHbyul#AFp+`bKLZFHIB?+q|Nn|VSr|b)9S{MMXJG1@)4cNZTmHp!w%qD2 zHmhM_XnW)_?OErtSEshU<33(^q4rbn^Izw_TfF_q*?weEp~q&~>1UQrmJraGe`VEI zt1iEdch+rR{> ./shopmock_all/css/def.css + + + ---------------- */ + + +/* -- auto generated by q_css.rb --*/ + + +/* ---- button_120x60 ------------------------------- */ + +/* .............. */ +.button_120x60 { + position : relative; + width : 120px; + height : 60px; + background-image : url(../image/button_120x60_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- button_128x40 ------------------------------- */ + +/* .............. */ +.button_128x40 { + position : relative; + width : 128px; + height : 40px; + background-image : url(../image/button_128x40_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- button_180x40 ------------------------------- */ + +/* .............. */ +.button_180x40 { + position : relative; + width : 180px; + height : 40px; + background-image : url(../image/button_180x40_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- button_224x28 ------------------------------- */ + +/* .............. */ +.button_224x28 { + position : relative; + width : 224px; + height : 28px; + background-image : url(../image/button_224x28_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- button_240x24 ------------------------------- */ + +/* .............. */ +.button_240x24 { + position : relative; + width : 240px; + height : 24px; + background-image : url(../image/button_240x24_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- button_240x30 ------------------------------- */ + +/* .............. */ +.button_240x30 { + position : relative; + width : 240px; + height : 30px; + background-image : url(../image/button_240x30_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- button_240x45 ------------------------------- */ + +/* .............. */ +.button_240x45 { + position : relative; + width : 240px; + height : 45px; + background-image : url(../image/button_240x45_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- button_240x56 ------------------------------- */ + +/* .............. */ +.button_240x56 { + position : relative; + width : 240px; + height : 56px; + background-image : url(../image/button_240x56_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- button_240x70 ------------------------------- */ + +/* .............. */ +.button_240x70 { + position : relative; + width : 240px; + height : 70px; + background-image : url(../image/button_240x70_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- button_24x24 ------------------------------- */ + +/* .............. */ +.button_24x24 { + position : relative; + width : 24px; + height : 24px; + background-image : url(../image/button_24x24_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- button_256x28 ------------------------------- */ + +/* .............. */ +.button_256x28 { + position : relative; + width : 256px; + height : 28px; + background-image : url(../image/button_256x28_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- button_256x34 ------------------------------- */ + +/* .............. */ +.button_256x34 { + position : relative; + width : 256px; + height : 34px; + background-image : url(../image/button_256x34_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- button_256x40 ------------------------------- */ + +/* .............. */ +.button_256x40 { + position : relative; + width : 256px; + height : 40px; + background-image : url(../image/button_256x40_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- button_256x44 ------------------------------- */ + +/* .............. */ +.button_256x44 { + position : relative; + width : 256px; + height : 44px; + background-image : url(../image/button_256x44_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- button_256x56 ------------------------------- */ + +/* .............. */ +.button_256x56 { + position : relative; + width : 256px; + height : 56px; + background-image : url(../image/button_256x56_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- button_48x48 ------------------------------- */ + +/* .............. */ +.button_48x48 { + position : relative; + width : 48px; + height : 48px; + background-image : url(../image/button_48x48_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- button_60x18 ------------------------------- */ + +/* .............. */ +.button_60x18 { + position : relative; + width : 60px; + height : 18px; + background-image : url(../image/button_60x18_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- button_60x60 ------------------------------- */ + +/* .............. */ +.button_60x60 { + position : relative; + width : 60px; + height : 60px; + background-image : url(../image/button_60x60_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- buy_132x72 ------------------------------- */ + +/* .............. */ +.buy_132x72 { + position : relative; + width : 132px; + height : 72px; + background-image : url(../image/buy_132x72_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- loaded_256x56 ------------------------------- */ + +/* .............. */ +.loaded_256x56 { + position : relative; + width : 256px; + height : 56px; + background-image : url(../image/loaded_256x56_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- option_240x30 ------------------------------- */ + +/* .............. */ +.option_240x30 { + position : relative; + width : 240px; + height : 30px; + background-image : url(../image/option_240x30_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- option_256x28 ------------------------------- */ + +/* .............. */ +.option_256x28 { + position : relative; + width : 256px; + height : 28px; + background-image : url(../image/option_256x28_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- violet_128x28 ------------------------------- */ + +/* .............. */ +.violet_128x28 { + position : relative; + width : 128px; + height : 28px; + background-image : url(../image/violet_128x28_all.gif); + background-repeat : no-repeat; + background-position : 0px 0px; + overflow : hidden; +/* z-index : 5; */ +} + + +/* ---- _120x60 ------------------------------- */ + +/* .............. */ +._120x60_inner { + position : relative; + padding : 2 3 3 3; + width : 120px; + height : 60px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._120x60_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 120px; + height : 60px; +} + + +/* ---- _128x28 ------------------------------- */ + +/* .............. */ +._128x28_inner { + position : relative; + padding : 2 3 3 3; + width : 128px; + height : 28px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._128x28_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 128px; + height : 28px; +} + + +/* ---- _128x40 ------------------------------- */ + +/* .............. */ +._128x40_inner { + position : relative; + padding : 2 3 3 3; + width : 128px; + height : 40px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._128x40_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 128px; + height : 40px; +} + + +/* ---- _132x72 ------------------------------- */ + +/* .............. */ +._132x72_inner { + position : relative; + padding : 2 3 3 3; + width : 132px; + height : 72px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._132x72_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 132px; + height : 72px; +} + + +/* ---- _180x40 ------------------------------- */ + +/* .............. */ +._180x40_inner { + position : relative; + padding : 2 3 3 3; + width : 180px; + height : 40px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._180x40_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 180px; + height : 40px; +} + + +/* ---- _224x28 ------------------------------- */ + +/* .............. */ +._224x28_inner { + position : relative; + padding : 2 3 3 3; + width : 224px; + height : 28px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._224x28_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 224px; + height : 28px; +} + + +/* ---- _240x24 ------------------------------- */ + +/* .............. */ +._240x24_inner { + position : relative; + padding : 2 3 3 3; + width : 240px; + height : 24px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._240x24_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 240px; + height : 24px; +} + + +/* ---- _240x30 ------------------------------- */ + +/* .............. */ +._240x30_inner { + position : relative; + padding : 2 3 3 3; + width : 240px; + height : 30px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._240x30_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 240px; + height : 30px; +} + + +/* ---- _240x45 ------------------------------- */ + +/* .............. */ +._240x45_inner { + position : relative; + padding : 2 3 3 3; + width : 240px; + height : 45px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._240x45_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 240px; + height : 45px; +} + + +/* ---- _240x56 ------------------------------- */ + +/* .............. */ +._240x56_inner { + position : relative; + padding : 2 3 3 3; + width : 240px; + height : 56px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._240x56_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 240px; + height : 56px; +} + + +/* ---- _240x70 ------------------------------- */ + +/* .............. */ +._240x70_inner { + position : relative; + padding : 2 3 3 3; + width : 240px; + height : 70px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._240x70_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 240px; + height : 70px; +} + + +/* ---- _24x24 ------------------------------- */ + +/* .............. */ +._24x24_inner { + position : relative; + padding : 2 3 3 3; + width : 24px; + height : 24px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._24x24_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 24px; + height : 24px; +} + + +/* ---- _256x28 ------------------------------- */ + +/* .............. */ +._256x28_inner { + position : relative; + padding : 2 3 3 3; + width : 256px; + height : 28px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._256x28_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 256px; + height : 28px; +} + + +/* ---- _256x34 ------------------------------- */ + +/* .............. */ +._256x34_inner { + position : relative; + padding : 2 3 3 3; + width : 256px; + height : 34px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._256x34_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 256px; + height : 34px; +} + + +/* ---- _256x40 ------------------------------- */ + +/* .............. */ +._256x40_inner { + position : relative; + padding : 2 3 3 3; + width : 256px; + height : 40px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._256x40_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 256px; + height : 40px; +} + + +/* ---- _256x44 ------------------------------- */ + +/* .............. */ +._256x44_inner { + position : relative; + padding : 2 3 3 3; + width : 256px; + height : 44px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._256x44_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 256px; + height : 44px; +} + + +/* ---- _256x56 ------------------------------- */ + +/* .............. */ +._256x56_inner { + position : relative; + padding : 2 3 3 3; + width : 256px; + height : 56px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._256x56_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 256px; + height : 56px; +} + + +/* ---- _48x48 ------------------------------- */ + +/* .............. */ +._48x48_inner { + position : relative; + padding : 2 3 3 3; + width : 48px; + height : 48px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._48x48_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 48px; + height : 48px; +} + + +/* ---- _60x18 ------------------------------- */ + +/* .............. */ +._60x18_inner { + position : relative; + padding : 2 3 3 3; + width : 60px; + height : 18px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._60x18_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 60px; + height : 18px; +} + + +/* ---- _60x60 ------------------------------- */ + +/* .............. */ +._60x60_inner { + position : relative; + padding : 2 3 3 3; + width : 60px; + height : 60px; + display : table-cell; + vertical-align : middle; + text-align : center; +} + +/* .............. */ +._60x60_spacer { + position : absolute; + left : 0px; + top : 0px; + width : 60px; + height : 60px; +} + diff --git a/SMC/font_check/css/page/L_03_eur_u.css b/SMC/font_check/css/page/L_03_eur_u.css new file mode 100644 index 0000000..4e4b67a --- /dev/null +++ b/SMC/font_check/css/page/L_03_eur_u.css @@ -0,0 +1,22 @@ +/* ---- common style ------------------------------- */ +@font-face { + font-family: dsifont; + src: url(/assets/dsi/nintendo_NTLGDB_001.ttf); +} +html * { + font-family: dsifont; +} +body { + font-size : 12px; + color : #555555; +} + +.bold { font-size : 16px; color : black; } + +.eulaPage_u { + position : absolute; + top : 0px; + width : 240px; + margin : 26 8 0 8; + padding : 0 0 22 0; +} diff --git a/SMC/font_check/js/base.js b/SMC/font_check/js/base.js new file mode 100644 index 0000000..a3e20c5 --- /dev/null +++ b/SMC/font_check/js/base.js @@ -0,0 +1,1010 @@ +//======================================== +// base.js +//======================================== + + +/* #### 20080602 #### Commented out functions for debug grid. */ +/* + +//---------------------------------------------------------------- +//-- for debug only -- grid +//-- (TWL: X button toggle / PC: "G" key toggle(only when DownWindow focused)) + + +var _u_grid = null; +var _d_grid = null; + +function appendGridUD() { + + _u_grid = upWindowObject.document.createElement("img"); + _u_grid.src = "../image/256x192.gif"; + _u_grid.style.visibility = "hidden"; + _u_grid.style.position = "fixed"; + _u_grid.style.zIndex = 30; + _u_grid.style.top = 0; + _u_grid.style.left = 0; + //_u_grid.style.opacity = 0.3; + upWindowObject.document.body.appendChild(_u_grid); + + _d_grid = downWindowObject.document.createElement("img"); + _d_grid.src = "../image/256x192.gif"; + _d_grid.style.visibility = "hidden"; + _d_grid.style.position = "fixed"; + _d_grid.style.zIndex = 30; + _d_grid.style.top = 0; + _d_grid.style.left = 0; + //_d_grid.style.opacity = 0.3; + downWindowObject.document.body.appendChild(_d_grid); + +} + + +function setGridVisibility() { + if (_u_grid.style.visibility == "hidden") { + _u_grid.style.visibility = "visible"; + _d_grid.style.visibility = "visible"; + } else { + _u_grid.style.visibility = "hidden"; + _d_grid.style.visibility = "hidden"; + } +} + +function dispGrid() { + + var code = event.keyCode; + //-- "event.keyCode" returns a code of capital letter if use "onkyedown". + if ( code == OP_KEY_PAD_X || code == "G".charCodeAt(0) ) { + + if (_u_grid == null) { + appendGridUD(); + } + setGridVisibility(); + + } + +} + +// #### 20080628 #### Changed for PC Opera 9.5 +//window.onkeydown = dispGrid; //-- "event.keyCode" returns a code of capital letter if use "onkyedown". +window.addEventListener('keydown', dispGrid, false); + + + +*/ + + + + +//---------------------------------------------------------------- +//-- for debug only -- histroy back + +function historyBack() { + //hideScrollButton(); + gkong.SetTransition(WIPE_ANIM_TRANS, WIPE_ANIM_TRANS); /* #### 20080702 #### SetTransition* MUST BE CALLED. */ + setTimeout( function() { + upWindowObject.history.back(); + downWindowObject.history.back(); + } , WAIT_FOR_SETURL); +} + + + +//---------------------------------------------------------------- +//-- for debug only -- debug counter +/* +var gDebugCounter = 0; // #### 20080628 #### Renamed. +function incDebugCounter() { + gDebugCounter += 1; + if (gDebugCounter > (1000 * 60)) { gDebugCounter = 0;} + setTimeout("incDebugCounter()", 100); +} + +incDebugCounter(); +*/ + +//---------------------------------------------------------------- +//-- for debug only -- debug print + +function dPrint(t) { + // gkong.print("[[ dPrint ]] " + t + " ---- " + gDebugCounter) + gkong.print("[[ dPrint ]] " + t ); +} + + + + + +//---------------------------------------------------------------- +//---------------------------------------------------------------- +//---------------------------------------------------------------- + + + +//---------------------------------------- +//-- define : keyboard kinds & types of field (see Kong::KbdActive) + +var KBD_KIND_TEN = 0; +var KBD_KIND_QWERTY = 1; +var KBD_KIND_NO_JAPANESE = 2; +var KBD_KIND_JAPANESE = 3; + +var KBD_FIELD_NORMAL = 0; +var KBD_FIELD_4444 = 1; + + +//---------------------------------------- +//-- define : wipe animation types of transition (see Kong::SetTransition) + +var WIPE_ANIM_NONE = 0; +var WIPE_ANIM_TRANS = 1; +var WIPE_ANIM_TRANS_LEFT = 2; +var WIPE_ANIM_TRANS_RIGHT = 3; +var WIPE_ANIM_LEFT = 4; +var WIPE_ANIM_RIGHT = 5; + +/* #### 20080628 #### Added new types. */ +var WIPE_ANIM_DOWN = 6; +var WIPE_ANIM_UP = 7; +var WIPE_ANIM_OVER_LEFT = 8; +var WIPE_ANIM_OVER_RIGHT = 9; + + +//---------------------------------------- +//-- define : TWL key code + +var OP_KEY_PAD_A = 172; +var OP_KEY_PAD_B = 173; +var OP_KEY_PAD_X = 179; +var OP_KEY_PAD_Y = 180; +var OP_KEY_PAD_L = 181; +var OP_KEY_PAD_R = 182; +var OP_KEY_PAD_UP = 175; +var OP_KEY_PAD_DOWN = 176; +var OP_KEY_PAD_RIGHT = 177; +var OP_KEY_PAD_LEFT = 178; +var OP_KEY_PAD_START = 174; +var OP_KEY_PAD_SELECT = 170; + + + + +/* #### 20080702 #### Changed. */ +//---------------------------------------- +//-- define : options of setButtonImages() + +//var SBIMG_NO_LOADING_ICON = 0; +var SBIMG_NO_LOADINGICON_NO_PARTICLE = 0; +var SBIMG_NO_CURSOR = 1; + + +/* #### 20080709 #### Added not to init button image. */ +//---------------------------------------- +//-- define : options of clearClickedStates() + +var CCS_NOT_INIT_BUTTON_IMG = 0; + + +//---------------------------------------------------------------- +//-- set urls and types of animation + +//-- wait maybe required... if no wait, button images will not change before the wipe animation. + +/* #### 20080628 #### Changed wait time from 0ms to 200ms */ +var WAIT_FOR_SETURL = 200; + +/* #### 20080715 #### Moved from "multi_page_DOM.js". */ +var WAIT_FOR_MANUALTRANSITION = 300; + + + +function setUrlUD() { + var a = setUrlUD.arguments; + if (a.length == 2) { + //hideScrollButton(); + gkong.SetTransition(WIPE_ANIM_NONE, WIPE_ANIM_NONE); /* #### 20080702 #### SetTransition* MUST BE CALLED. */ + setTimeout( function() { + if (a[0] != "") window.open( a[0], 'UpWindow'); + if (a[1] != "") window.open( a[1], 'DownWindow'); + } , WAIT_FOR_SETURL); + } else if (a.length == 4) { + //hideScrollButton(); + gkong.SetTransition(a[1], a[3]); /* #### 20080702 #### SetTransition* MUST BE CALLED. */ + setTimeout(function() { + if (a[0] != "") window.open( a[0], 'UpWindow'); + if (a[2] != "") window.open( a[2], 'DownWindow'); + } , WAIT_FOR_SETURL); + } else { + return false; + } +} + +function setUrlU() { + var a = setUrlU.arguments; + if (a.length == 1) { + //hideScrollButton(); + gkong.SetTransition(WIPE_ANIM_NONE, WIPE_ANIM_NONE); /* #### 20080702 #### SetTransition* MUST BE CALLED. */ + setTimeout( function() { + if (a[0] != "") window.open( a[0], 'UpWindow'); + } , WAIT_FOR_SETURL); + } else if (a.length == 2) { + //hideScrollButton(); + gkong.SetTransition(a[1], WIPE_ANIM_NONE); /* #### 20080702 #### SetTransition* MUST BE CALLED. */ + setTimeout( function() { + if (a[0] != "") window.open( a[0], 'UpWindow'); + } , WAIT_FOR_SETURL); + } else { + return false; + } +} + +function setUrlD() { + var a = setUrlD.arguments; + if (a.length == 1) { + //hideScrollButton(); + gkong.SetTransition(WIPE_ANIM_NONE, WIPE_ANIM_NONE); /* #### 20080702 #### SetTransition* MUST BE CALLED. */ + setTimeout( function() { + if (a[0] != "") window.open( a[0], 'DownWindow'); + } , WAIT_FOR_SETURL); + } else if (a.length == 2) { + //hideScrollButton(); + gkong.SetTransition(WIPE_ANIM_NONE, a[1]); /* #### 20080702 #### SetTransition* MUST BE CALLED. */ + setTimeout( function() { + if (a[0] != "") window.open( a[0], 'DownWindow'); + } , WAIT_FOR_SETURL); + } else { + return false; + } +} + + + + + + + +//---------------------------------------------------------------- +//-- cursor + +var CURSOR_SIZE = 8; // 8px x 8px + + + + +function clearCursor() { + +/* #### 20080702 #### Commented out. */ +/* + var hp = -2 * CURSOR_SIZE; + cursor_tl.style.top = hp; + cursor_tr.style.top = hp; + cursor_bl.style.top = hp; + cursor_br.style.top = hp; +*/ + +} + + +//--- setCurser (z-index version) + +/* + +function setCursor(obj) { + + var oP = obj.offsetParent; + var cS = getComputedStyle(obj,''); + + if(oP) { //-- obj's style may be "position : absolute" + var p = "absolute"; + var t = parseInt(oP.offsetTop) + parseInt(obj.offsetTop); + var l = parseInt(oP.offsetLeft) + parseInt(obj.offsetLeft); + var w = parseInt(cS.getPropertyValue('width')); + var h = parseInt(cS.getPropertyValue('height')); + var z = parseInt(obj.style.zIndex); + } else { //-- obj's style may be "position : fixed" + var p = "fixed"; + var t = parseInt(cS.getPropertyValue('top')); + var l = parseInt(cS.getPropertyValue('left')); + var w = parseInt(cS.getPropertyValue('width')); + var h = parseInt(cS.getPropertyValue('height')); + var z = parseInt(cS.getPropertyValue('z-index')); + } + + + if( h == 0 || isNaN(h) ){ + //-- obj dose not have height value (maybe 'a' tag) ---- + h = parseInt( cS.getPropertyValue('font-size') ); + if (h == 16) { h = 21; } // font cell size 17x21 + else if (h == 12) { h = 16; } // font cell size 13x16 + else if (h == 10) { h = 13; } // font cell size 11x12 (+1) + } + + + if(isNaN(z)){ z = 1; } else { z += 1; } + + + cursor_tl.style.position = p; + cursor_tl.style.zIndex = z; + cursor_tl.style.top = t; + cursor_tl.style.left = l; + + cursor_tr.style.position = p; + cursor_tr.style.zIndex = z; + cursor_tr.style.top = t; + cursor_tr.style.left = l + w - CURSOR_SIZE; + + cursor_bl.style.position = p; + cursor_bl.style.zIndex = z; + cursor_bl.style.top = t + h - CURSOR_SIZE; + cursor_bl.style.left = l; + + cursor_br.style.position = p; + cursor_br.style.zIndex = z; + cursor_br.style.top = t + h - CURSOR_SIZE; + cursor_br.style.left = l + w - CURSOR_SIZE; + + +} + +*/ + + +function setCursor(obj) { + +/* #### 20080702 #### Commented out. */ +/* + + var oP = obj.offsetParent; + var cS = getComputedStyle(obj,''); + + var t = parseInt(oP.offsetTop) + parseInt(obj.offsetTop); + var l = parseInt(oP.offsetLeft) + parseInt(obj.offsetLeft); + var w = parseInt(cS.getPropertyValue('width')); + var h = parseInt(cS.getPropertyValue('height')); + + if( h == 0 || isNaN(h) ){ + //-- obj dose not have height value (maybe 'a' tag) ---- + h = parseInt( cS.getPropertyValue('font-size') ); + if (h == 16) { h = 21; } // 16pt font cell size = 17x21 + else if (h == 12) { h = 16; } // 12pt font cell size = 13x16 + else if (h == 10) { h = 13; } // 10pt font cell size = 11x12 (+1) + } + + cursor_tl.style.top = t; + cursor_tl.style.left = l; + + cursor_tr.style.top = t; + cursor_tr.style.left = l + w - CURSOR_SIZE; + + cursor_bl.style.top = t + h - CURSOR_SIZE; + cursor_bl.style.left = l; + + cursor_br.style.top = t + h - CURSOR_SIZE; + cursor_br.style.left = l + w - CURSOR_SIZE; +*/ + +} + + + + +//---------------------------------------------------------------- +//-- side blue lines + +/* #### 20080628 #### Deleted. */ +//function extendSideBlueLine() {} + + +//---------------------------------------------------------------- +//-- scroll buttons + + +function hideScrollButton() { + gkong.HideUpWindowScrollButton(); + //gkong.HideDownWindowScrollButton(); +} + + +function showScrollButton() { + /* #### 20080711 #### Deleted arguments of ShowUpWindowScrollButton(). */ + gkong.ShowUpWindowScrollButton(); + //gkong.ShowUpWindowScrollButton( 204, 1, 229, 1 ); + + //gkong.ShowDownWindowScrollButton( 225,110, 225,138 ); +} + + + +function hideScrollButton_debugIndex() { + //gkong.HideUpWindowScrollButton(); + gkong.HideDownWindowScrollButton(); +} + +function showScrollButton_debugIndex() { + /* #### 20080711 #### Deleted arguments of ShowUpWindowScrollButton(). */ + //gkong.ShowUpWindowScrollButton(); + + gkong.ShowDownWindowScrollButton( 210,130, 210,158 ); +} + + + + + + +//---------------------------------------------------------------- +//---------------------------------------------------------------- +//---------------------------------------------------------------- + + + + + + + +/* + +//---------------------------------------------------------------- +//-- functions for the reaction of button images + + +== note ==== + + 1. a clickable image element in HTML files must have a child or more. + (the last child will be treated as the spacer that defined hit-area) + + 2. and requires descriptions of image src in CSS files. + + 3. and requires additional JavaScript descriptions that set reactions and urls. + + 4. and an image file must contain 2 patterns. + + + + +== ex ==== + + + + ---- .html -------- + + +
+ + +
+ ???????? +
+ + +
+ +
+ + + + + + + + ---- .css -------- + + .YYYY_XXXX { + position : relative; + width : [width]px; + height : [height]px; + background-image: url(ClickableImage.gif); + background-repeat: no-repeat; + background-position: 0px 0px; + overflow: hidden; + } + + ._XXXX_inner { + position : relative; + padding : 2 3 3 3; + width : [width]px; + height : [height]px; + display : table-cell; + vertical-align : middle; + text-align : center; + } + + ._XXXX_spacer { + position : absolute; + left : 0px; + top : 0px; + width : [width]px; + height : [height]px; + } + + + #NNNN { position : absolute; left : 52px; top : 60px; } + + + + ---- ClickableImage.gif -------- + + +--------[width]px-------+ + | | + | normal pattern [height]px + | | + +------------------------+ + | | + | selected pattern [height]px + | | + +------------------------+ + + +*/ + + +/* + +//---------------------------------------------------------------- +//-- functions for the reaction of button images + +== note ==== + + Following functions MUST BE CALLED when click & transit. + + - Kong::PlaySE ( Not necessary if use setButtonImage(). ) + - Kong::ShowLoadingIcon ( Not necessary if use setButtonImage(). ) + - Kong::ShowClickEffect ( Not necessary if use setButtonImage(). ) + - Kong::SetTransition ( Not necessary if use setOnclickUrlUD() or if call setUrl*() at once. ) + + + + Following functions MUST BE CALLED when click & input. + + - Kong::PlaySE ( Not necessary if use setButtonImage() and set SBIMG_NO_LOADINGICON_NO_PARTICLE for argument. ) + + + + Following functions MUST BE CALLED when onchange of input tag. + + - Kong::ShowLoadingIcon ( Not necessary if call setUrl*() at once. ) + + + + Following functions MUST BE CALLED when click & manual transit. + + -- Before Change by DOM. + + - Kong::PlaySE ( Not necessary if use setButtonImage(). ) + - Kong::ShowLoadingIcon ( Not necessary if use setButtonImage(). ) + - Kong::ShowClickEffect ( Not necessary if use setButtonImage(). ) + - Kong::SetTransitionRangeOnce ( Not necessary if call beforeChangeDOMforManualTransition() or if not use wipe animation with range specification. ) + - Kong::SetManualTransition ( Not necessary if call beforeChangeDOMforManualTransition(). ) + + -- After Change by DOM. + + - ? waitAllImagesComplete ( Not necessary if call afterChangeDOMforManualTransition(). ) + - gkong.StartManualTransition ( Not necessary if call afterChangeDOMforManualTransition(). ) + - gkong.HideLoadingIcon ( Not necessary if call afterChangeDOMforManualTransition(). ) + - gkong.PlaySE ( Not necessary if call afterChangeDOMforManualTransition(). ) + + + + +*/ + + +//---------------------------------------------------------------- +//-- functions for the reaction of button images + + +var BUTTON_NORMAL = 0; +var BUTTON_SELECTED = 1; + +function bgPos(oCS, n) { dPrint("$$$$$$$$$$ Called bgPos : " + n); return "0px " + ( parseInt(oCS.getPropertyValue('height')) * (-1) * n) + "px" } + + +/* #### 20080628 #### Renamed. */ +var gObjOnmousedown = null; //-- the object that the "onMouseDown" event occured. +function setObjOnmousedown(id) { gObjOnmousedown = id; } +function clearObjOnmousedown() { gObjOnmousedown = null; /* clearCursor(); */ } +function checkObjOnmousedown(id) { if(gObjOnmousedown == id) { return true;} else {return false;} } + + + +/* #### 20080628 #### Changed for PC Opera 9.5 */ +//window.onunload = clearStates; +window.addEventListener('mouseup', function(){ clearObjOnmousedown(); }, false); + + + + + +function getLastChild( o ) { return o.children[o.children.length-1] } + + + + +/* #### 20080602 #### Added functions to prevent clicking twice. */ +/* #### 20080628 #### Renamed. */ +/* +var setButtonImagesState = 0; +function getSetButtonImagesState() { return setButtonImagesState; } +function setSetButtonImagesState() { setButtonImagesState = 1; } +function clearSetButtonImagesState() { setButtonImagesState = 0; } + +var setButtonImagesObject = null; +function getSetButtonImagesObject() { return setButtonImagesObject; } +function setSetButtonImagesObject(o) { setButtonImagesObject = o; } +function clearSetButtonImagesObject() { setButtonImagesObject = null; } +*/ + +var gClickedObjectId = null; +function getClickedObjectId() { return gClickedObjectId; } +function setClickedObjectId(n) { gClickedObjectId = n; dPrint("[[[[[[[[ setClickedObjectId : " + n); } +function clearClickedObjectId() { gClickedObjectId = null; dPrint("[[[[[[[[ clearClickedObjectId : null"); } + + + +/* #### 20080714 #### Added to init button image. */ + +var gMouseEvent = document.createEvent('MouseEvents'); +gMouseEvent.initEvent('mouseout', true, true); + +var gObjectIdToInitImage = null; + +function getObjectIdToInitButtonImage() { return gObjectIdToInitImage; } +function setObjectIdToInitButtonImage( n ) { gObjectIdToInitImage = n; } +function clearObjectIdToInitButtonImage() { gObjectIdToInitImage = null; } + +function initObjectIdToInitButtonImage( n ) { + + if ( gObjectIdToInitImage != null && gObjectIdToInitImage != n ) { + var o = $(gObjectIdToInitImage); + if (o) { + // dPrint("@@@@@@@@@@@@@@@@@ : before dispatch mouseout : " + gObjectIdToInitImage + " :: gcoi:" + getClickedObjectId()); + getLastChild(o).dispatchEvent(gMouseEvent); + // dPrint("@@@@@@@@@@@@@@@@@ : after dispatch mouseout : " + gObjectIdToInitImage + " :: gcoi:" + getClickedObjectId()); + } + } + + if ( n ) { + setObjectIdToInitButtonImage(n); + } else { + clearObjectIdToInitButtonImage(); + } + +} + + + +/* #### 20080714 #### Added to init button image. */ +window.addEventListener('blur', function(){ initObjectIdToInitButtonImage(); }, false); + + + + + + +var gSBI_dPrint = true; /* #### 20080714 #### for debug. */ + +/* #### 20080702 #### Commented out clearCusor(). */ +/* #### 20080702 #### Changed 2nd argument. */ +//function setButtonImages( o, cursor ) { +function setButtonImages( o, opt ) { + + var id = o.getAttribute("id"); + var spacer = getLastChild(o); + var oCS = getComputedStyle(o, ''); + var oStyle = o.style; + var a = setButtonImages.arguments; + + var bg = BUTTON_NORMAL; + + + spacer.addEventListener('click', function( e ) { + if (gSBI_dPrint) dPrint(id+ ' click'); /* #### 20080714 #### for debug. */ + /* #### 20080628 #### Renamed functions to prevent clicking twice. */ + if (getClickedObjectId() == null) { // + if (gSBI_dPrint) dPrint(id+ ' click ---- execute'); /* #### 20080714 #### for debug. */ + + setClickedObjectId(id); + /* #### 20080714 #### Added to init button image. */ + initObjectIdToInitButtonImage(id); + /* #### 200806028 #### SE No. to macro name. */ + gkong.PlaySE(TWL_SHOP_SE_ONCLICK); + /* #### 20080702 #### Changed 2nd argument. */ + + if (a.length == 2 ) { + /* #### 20080715 #### Changed macro name. */ + if (opt == SBIMG_NO_LOADINGICON_NO_PARTICLE ) { + /* #### 20080702 #### Added for input tag. */ + if (bg != BUTTON_NORMAL) { oStyle.backgroundPosition = bgPos(oCS, BUTTON_NORMAL); bg = BUTTON_NORMAL; } + clearClickedObjectId(); // #### 20080714 #### Currected */ + } else if (opt == SBIMG_NO_CURSOR ){ + /* #### 20080715 #### Added to display particle on click. */ + gkong.ShowClickEffect(e.pageX, e.pageY); + /* #### 20080702 #### Added to force to show loading icon. */ + gkong.ShowLoadingIcon(); + //clearCursor(o); + } + } else { + /* #### 20080715 #### Added to display particle on click. */ + gkong.ShowClickEffect(e.pageX, e.pageY); + /* #### 20080702 #### Added to force to show loading icon. */ + gkong.ShowLoadingIcon(); + //setCursor(o); + } + } + + }, false); + + + spacer.addEventListener('mousedown', function() { + if (gSBI_dPrint) dPrint(id + ' mousedown'); /* #### 20080714 #### for debug. */ + /* #### 20080628 #### Renamed functions to prevent clicking twice. */ + + if (getClickedObjectId() == null) { + if (gSBI_dPrint) dPrint(id + ' mousedown ---- exceute'); /* #### 20080714 #### for debug. */ + /* #### 200806028 #### SE No. to macro name. */ + gkong.PlaySE(TWL_SHOP_SE_ONMOUSEDOWN); + if (bg != BUTTON_SELECTED) { oStyle.backgroundPosition = bgPos(oCS, BUTTON_SELECTED); bg = BUTTON_SELECTED; } + initObjectIdToInitButtonImage(id); + setObjOnmousedown(id); + } + + }, false); + + spacer.addEventListener('mouseover', function() { + if (gSBI_dPrint) dPrint(id + ' mouseover'); /* #### 20080714 #### for debug. */ + /* #### 20080628 #### Renamed functions to prevent clicking twice. */ + + if (getClickedObjectId() == null) { + if (gSBI_dPrint) dPrint(id + ' mouseover ---- exceute'); /* #### 20080714 #### for debug. */ + if (checkObjOnmousedown(id)) { + /* #### 200806028 #### SE No. to macro name. */ + gkong.PlaySE(TWL_SHOP_SE_ONMOUSEDOWN); + if (bg != BUTTON_SELECTED) { oStyle.backgroundPosition = bgPos(oCS, BUTTON_SELECTED); bg = BUTTON_SELECTED; } + initObjectIdToInitButtonImage(id); + } + } + + }, false); + + spacer.addEventListener('mouseout', function() { + if (gSBI_dPrint) dPrint(id + ' mouseout'); /* #### 20080714 #### for debug. */ + /* #### 20080628 #### Renamed functions to prevent clicking twice. */ + + if (getClickedObjectId() == null) { + if (gSBI_dPrint) dPrint(id + ' mouseout ---- exceute'); /* #### 20080714 #### for debug. */ + //clearCursor(); /* #### 20080602 #### Commented out clearCusor(). */ + if (bg != BUTTON_NORMAL) { oStyle.backgroundPosition = bgPos(oCS, BUTTON_NORMAL); bg = BUTTON_NORMAL; } + } + + }, false); + + + /* #### 20080717 #### Deleted functions onFocus & onBlur. (Necessary if use spatial navigation.) */ + // spacer.addEventListener('focus', function() { if (gSBI_dPrint) dPrint(id + ' focus'); }, false); + // spacer.addEventListener('blur', function() { if (gSBI_dPrint) dPrint(id + ' blur' ); }, false); + + +} + + + +//---------------------------------------------------------------- +//-- add event listener to a clickable object (set urls and types of animation) + + + +/* #### 20080602 #### Added functions to prevent clicking twice. */ +/* #### 20080628 #### Renamed. */ + +/* +var setOnclickUrlState = 0; +function getSetOnclickUrlState() { return setOnclickUrlState; } +function setSetOnclickUrlState() { setOnclickUrlState = 1; } +function clearSetOnclickUrlState() { setOnclickUrlState = 0; } +*/ + +var gClickedTransition = null; +function getClickedTransition() { return gClickedTransition; } +function setClickedTransition() { gClickedTransition = true; } +function clearClickedTransition() { gClickedTransition = null; } + + + +/* #### 20080712 #### Deleted functions to prevent clicking twice. */ +/* #### 20080712 #### Deleted "var spacer". */ +function setOnclickUrlUD( o, urlU, animU, urlD, animD ) { + getLastChild(o).addEventListener('click', function() { setUrlUD(urlU, animU, urlD, animD); }, false); +} + +/* #### 20080712 #### Deleted functions to prevent clicking twice. */ +/* #### 20080712 #### Deleted "var spacer". */ +function setOnclickUrlU( o, urlU, animU ) { + getLastChild(o).addEventListener('click', function() { setUrlU(urlU, animU); }, false); +} + +/* #### 20080712 #### Deleted functions to prevent clicking twice. */ +/* #### 20080712 #### Deleted "var spacer". */ +function setOnclickUrlD( o, urlD, animD ) { + getLastChild(o).addEventListener('click', function() { setUrlD(urlD, animD); }, false); +} + + +/* #### 20080712 #### Deleted "var spacer". */ +function setOnclickHideProgressBar( o ) { + getLastChild(o).addEventListener('click', function() { gkong.HideProgressBar(); }, false); +} + + + +/* #### 20080602 #### functions to prevent clicking twice. */ +/* #### 20080628 #### Renamed. */ +function clearClickedStates() { + + var a = clearClickedStates.arguments; + + clearClickedObjectId(); + clearClickedTransition(); + + /* #### 20080709 #### Added not to init button image. */ + /* #### 20080712 #### Corrected. */ + if ( a.length == 1 ) { + if ( a[0] == CCS_NOT_INIT_BUTTON_IMG ) { + //-- not init button image. + } else { + initObjectIdToInitButtonImage() + } + } else { + initObjectIdToInitButtonImage() + } + +} + + + + + + +/* #### 20080628 #### Added sleep function. */ +function sleep(msec) { + var d1 = new Date().getTime(); + var d2 = new Date().getTime(); + while( d2 < d1 + msec ){ + d2 = new Date().getTime(); + } +} + + + +/* #### 20080628 #### Renamed functions to prevent clicking twice. */ +// #### 20080628 #### Changed for PC Opera 9.5 +//window.onunload = clearClickedStates; +window.addEventListener('unload', clearClickedStates, false); + + + + +/* #### 20080628 #### Added functions to call from HTML files onload. */ + +function onload_scroll() { + showScrollButton(); + gkong.PlaySE(TWL_SHOP_SE_TRANSIT); +} + +function onload_no_scroll() { + hideScrollButton(); + gkong.PlaySE(TWL_SHOP_SE_TRANSIT); +} + +function onload_upWindow() { + /* #### 20080709 #### Added not to init button image. */ + clearClickedStates(CCS_NOT_INIT_BUTTON_IMG); + + gkong.PlaySE(TWL_SHOP_SE_TRANSIT); +} + + + + + + + + + +/* #### 20080702 #### Added for debug. */ +function dPrintEventInfo() { + var a = dPrintEventInfo.arguments; + var o = a[0]; + var n = ""; + if (a[1]) { n = a[1] + " " } + o.addEventListener('click', function(){ dPrint(n + 'click' ); }, false); + o.addEventListener('focus', function(){ dPrint(n + 'focus' ); }, false); + o.addEventListener('blur', function(){ dPrint(n + 'blur' ); }, false); + o.addEventListener('mouseup', function(){ dPrint(n + 'mouseup' ); }, false); + o.addEventListener('mousedown', function(){ dPrint(n + 'mousedown'); }, false); + o.addEventListener('mouseover', function(){ dPrint(n + 'mouseover'); }, false); + o.addEventListener('mouseout', function(){ dPrint(n + 'mouseout' ); }, false); +} + + + + + + + + + + +/* #### 20080712 #### Moved from "multi_page_DOM.js". */ +function waitImageComplete( o ) { + + /* #### 20080717 #### TEST for NO WAIT. */ + return; + + while( o.complete != true ) { + sleep(100); + } +} + +/* #### 20080712 #### Moved from "multi_page_DOM.js". */ +/* #### 20080712 #### Changed to wait for all images of both windows. */ +function waitAllImagesComplete() { + + /* #### 20080717 #### TEST for NO WAIT. */ + return; + + var imgs = new Array(); + imgs = upWindowObject.document.getElementsByTagName('img'); + for (i=0; i < imgs.length; i++) { waitImageComplete( imgs[i] ); } + imgs = downWindowObject.document.getElementsByTagName('img'); + for (i=0; i < imgs.length; i++) { waitImageComplete( imgs[i] ); } +} + + + +/* #### 20080712 #### Added for ManualTransition simply.*/ +function beforeChangeDOMforManualTransition() { + if (getClickedTransition() == true ) return; + setClickedTransition(); + + /* #### 20080715 #### Added. */ + sleep(WAIT_FOR_MANUALTRANSITION); + + var a = beforeChangeDOMforManualTransition.arguments; + if (a.length == 0) { + gkong.SetManualTransition(WIPE_ANIM_TRANS, WIPE_ANIM_TRANS); + } else if (a.length == 2) { + gkong.SetManualTransition(a[0], a[1]); + } else if (a.length == 6) { + gkong.SetTransitionRangeOnce(a[2], a[3], a[4], a[5]); + gkong.SetManualTransition(a[0], a[1]); + } + + +} + +/* #### 20080712 #### Added for ManualTransition simply.*/ +function afterChangeDOMforManualTransition( ccs_opt ) { + waitAllImagesComplete(); + gkong.StartManualTransition(); + gkong.HideLoadingIcon(); + gkong.PlaySE(TWL_SHOP_SE_TRANSIT); + clearClickedStates(ccs_opt); +} + + +/* #### 20080718 #### Added.*/ +function addClickEffectAndSE( o ) { + o.addEventListener('click', function(e) { + gkong.PlaySE(TWL_SHOP_SE_ONCLICK); + gkong.ShowClickEffect(e.pageX, e.pageY); + }, false); +} + diff --git a/SMC/font_check/js/kong.js b/SMC/font_check/js/kong.js new file mode 100644 index 0000000..6e791f4 --- /dev/null +++ b/SMC/font_check/js/kong.js @@ -0,0 +1,544 @@ +/***************************** + Kong Script for Windows + *****************************/ +/* + Kong Class +*/ + +var gShowClickEffect = true; + + +function kong_sleep(msec) { + var d1 = new Date().getTime(); + var d2 = new Date().getTime(); + while( d2 < d1 + msec ){ + d2 = new Date().getTime(); + } +} + + + +/* dummy functions for PC Browser */ + +function Kong() +{ + + this.SetTransition = function() {} + this.PlaySE = function() {} + + this.KbdActive = function(k,m,f) { + /* #### 20080628 #### Changed from alert to opera.postError. */ + opera.postError("[[KbdActive]] kind:" + k + " / " + "message: " + m + " / " + "field:" + f ); + } + + + this.GetUpDocumentHeight = function() { + var h = 0 + if (upWindowObject.pageBottom) { + var b = upWindowObject.pageBottom; + h = parseInt(b.offsetParent.offsetTop) + parseInt(b.offsetTop) + parseInt(getComputedStyle(b, '').getPropertyValue('height')); + } + if (h >= 192) { return h; } else { return 192; } + } + + this.GetDownDocumentHeight = function() { + var h = 0 + if (downWindowObject.pageBottom) { + var b = downWindowObject.pageBottom; + h = parseInt(b.offsetParent.offsetTop) + parseInt(b.offsetTop) + parseInt(getComputedStyle(b, '').getPropertyValue('height')); + } + if (h >= 192) { return h; } else { return 192; } + } + + + this.ScrollUpWindow = function(x, y ,t) { + upWindowObject.scrollBy(x, y); + } + + this.ScrollDownWindow = function(x, y ,t) { + downWindowObject.scrollBy(x, y); + } + + + /* #### 20080711 #### Deleted arguments. */ + this.ShowUpWindowScrollButton = function() { + if (downWindowObject.upWinU) { /* #### 20080628 #### Added. */ + + /* #### 20080711 #### Added default positions for PC Opera. */ + var ux = 204; + var uy = 1; + var dx = 229; + var dy = 1; + + /* #### 20080712 #### Added scroll_tab. */ + downWindowObject.scroll_tab.style.visibility = "visible"; + downWindowObject.upWinU.style.visibility = "visible"; + downWindowObject.upWinD.style.visibility = "visible"; + downWindowObject.upWinU.style.left = ux; + downWindowObject.upWinU.style.top = uy; + downWindowObject.upWinD.style.left = dx; + downWindowObject.upWinD.style.top = dy; + + + } + } + + this.ShowDownWindowScrollButton = function(ux, uy, dx, dy) { + if (downWindowObject.dnWinU) { /* #### 20080628 #### Added. */ + downWindowObject.dnWinU.style.visibility = "visible"; + downWindowObject.dnWinD.style.visibility = "visible"; + downWindowObject.dnWinU.style.left = ux; + downWindowObject.dnWinU.style.top = uy; + downWindowObject.dnWinD.style.left = dx; + downWindowObject.dnWinD.style.top = dy; + } + } + + this.HideUpWindowScrollButton = function() { + if (downWindowObject.upWinU) { /* #### 20080628 #### Added. */ + /* #### 20080712 #### Added scroll_tab. */ + downWindowObject.scroll_tab.style.visibility = "hidden"; + downWindowObject.upWinU.style.visibility = "hidden"; + downWindowObject.upWinD.style.visibility = "hidden"; + } + } + + this.HideDownWindowScrollButton = function() { + if (downWindowObject.dnWinU) { /* #### 20080628 #### Added. */ + downWindowObject.dnWinU.style.visibility = "hidden"; + downWindowObject.dnWinD.style.visibility = "hidden"; + } + } + + + /* #### 20080628 #### Added functions for loading icon. */ + this.ShowLoadingIcon = function() { + + /* #### 20080714 #### Added to disable all. */ + if (downWindowObject.disable_all) { + downWindowObject.disable_all.style.zIndex = 30; + } + + if (downWindowObject.loadingIcon) { /* #### 20080628 #### Added. */ + downWindowObject.loadingIcon.style.visibility = "visible"; + } + + kong_sleep(200); + + } + + this.HideLoadingIcon = function() { + + if (downWindowObject.loadingIcon) { /* #### 20080628 #### Added. */ + downWindowObject.loadingIcon.style.visibility = "hidden"; + } + + /* #### 20080714 #### Added to eable all. */ + if (downWindowObject.disable_all) { + downWindowObject.disable_all.style.zIndex = -1; + } + + } + + + this.ShowProgressBar = function() {} + this.UpdateProgressBar = function(d, t) { opera.postError("download:" + d + "/" + t) } + this.IsProgressBarAnimFinished = function() { return true; } + this.HideProgressBar = function() {} + + + /* #### 20080628 #### Added new functions. */ + this.SetTransitionRangeOnce = function() {} + this.SetManualTransition = function() {} + this.StartManualTransition = function() {} + this.IsBatterySufficient = function() { return true; } + + + /* #### 20080715 #### Added to display particle on click. */ + this.ShowClickEffect = function( x, y ) { + if (gShowClickEffect) { + if (downWindowObject.particle) { + downWindowObject.particle.style.left = x - 18; + downWindowObject.particle.style.top = y - 18; + downWindowObject.particle.style.visibility = "visible"; + kong_sleep(600); + downWindowObject.particle.style.visibility = "hidden"; + } + } + } + + + this.print = function(t) { opera.postError(t); } + +} + + + + + + +//---------------------------------------- +//-- scroll for PC Browser +//---------------------------------------- + +//#### 20080628 #### Added icons. + +if (window.name == "UpWindow") { + document.write("
"); +} +if (window.name == "DownWindow") { + document.write("
"); // #### 20080714 #### Added to disable all. + document.write("
"); // #### 20080715 #### Added to display particle on click. + document.write("
"); + document.write("
"); + document.write("
"); + document.write("
"); + document.write("
"); + document.write("
"); +} + + + +var upMouseState = 0; +var downMouseState = 0; + + +function setMouseState(window_u_d, state_u_d) { + if(window_u_d == "UpWindow") { upMouseState = state_u_d; } + if(window_u_d == "DownWindow") { downMouseState = state_u_d; } +} + +function onkeyCodeCheck(c) { + var code = event.keyCode; + if (code == c) { return true; } else { return false; } +} + + +var a_stateScroll = new Array(); +a_stateScroll["upWinU"] = -1; +a_stateScroll["upWinD"] = -1; +a_stateScroll["dnWinU"] = -1; +a_stateScroll["dnWinD"] = -1; + + + + + +function setScrollButtonImages( o ) { + + var id = o.getAttribute("id"); + var spacer = o; + var h = -1 * parseInt(getComputedStyle(o,'').getPropertyValue('height')); + var oStyle = o.style; + + var window_u_d = 0; + if (id.indexOf("upWin") != -1) {window_u_d = "UpWindow";} + if (id.indexOf("dnWin") != -1) {window_u_d = "DownWindow";} + + var state_u_d = 0; + if (id.indexOf("WinU") != -1) {state_u_d = 1;} + if (id.indexOf("WinD") != -1) {state_u_d = 2;} + + + + spacer.addEventListener('click', function() { + //-- need for Spacial Navigation. + }, false); + + + spacer.addEventListener('focus', function() { + if (a_stateScroll[id] != 0) { + oStyle.backgroundPosition = "0px " + h * 3 + "px"; + } else { + oStyle.backgroundPosition = "0px " + h * 1 + "px"; + } + // gkong.PlaySE(0); + }, false); + + spacer.addEventListener('blur', function() { + if (a_stateScroll[id] != 0) { + oStyle.backgroundPosition = "0px " + h * 2 + "px"; + } else { + oStyle.backgroundPosition = "0px 0px"; + } + }, false); + + + spacer.addEventListener('mousedown', function() { + if (a_stateScroll[id] != 0) { + setMouseState(window_u_d, state_u_d); + oStyle.backgroundPosition = "0px " + h * 3 + "px"; + } else { + // gkong.PlaySE(6); + } + }, false); + + + spacer.addEventListener('mouseup', function() { + setMouseState(window_u_d, 0); + if (a_stateScroll[id] != 0) { + oStyle.backgroundPosition = "0px " + h * 2 + "px"; + } else { + oStyle.backgroundPosition = "0px 0px"; + } + }, false); + + spacer.addEventListener('mouseout', function() { + setMouseState(window_u_d, 0); + if (a_stateScroll[id] != 0) { + oStyle.backgroundPosition = "0px " + h * 2 + "px"; + } else { + oStyle.backgroundPosition = "0px 0px"; + } + }, false); + + spacer.addEventListener('keydown', function() { + if ( onkeyCodeCheck(172) || onkeyCodeCheck("C".charCodeAt(0)) ) { //-- 179 = twl A key's code. + if (a_stateScroll[id] != 0) { + setMouseState(window_u_d, state_u_d); + } else { + // gkong.PlaySE(6); + } + } + }, false); + + spacer.addEventListener('keyup', function() { + if ( onkeyCodeCheck(172) || onkeyCodeCheck("C".charCodeAt(0)) ) { //-- 179 = twl A key's code. + if (a_stateScroll[id] != 0) { + setMouseState(window_u_d, 0); + } else { + oStyle.backgroundPosition = "0px " + h * 1 + "px"; + } + } + }, false); + +} + + + +function lockScroll( o ) { + + var id = o.getAttribute("id"); + var oStyle = o.style; + + if (a_stateScroll[id] == 1) { + a_stateScroll[id] = 0; + oStyle.backgroundPosition = "0px 0px"; + return true; + } + + if (a_stateScroll[id] == -1) { + a_stateScroll[id] = 0; + oStyle.backgroundPosition = "0px 0px"; + return false; + } + + return false; + +} + + +function unlockScroll( o ) { + + var id = o.getAttribute("id"); + var h = -1 * parseInt(getComputedStyle(o,'').getPropertyValue('height')); + var oStyle = o.style; + + if (a_stateScroll[id] == 0) { + a_stateScroll[id] = 1; + oStyle.backgroundPosition = "0px "+ h * 2 + "px"; + return true; + } + + if (a_stateScroll[id] == -1) { + a_stateScroll[id] = 1; + oStyle.backgroundPosition = "0px "+ h * 2 + "px"; + return false; + } + + return false; + +} + + + +//---------------------------------------- +//-- main loop for scrolling +//---------------------------------------- + + +var intervalMSec = 32; +var buttonIntervalFrame = 10; + +var scrollPx = 192 / 8; + + +//---------------------------------------- +var upBottom = 0; +var upPageYOffset = 0; + +var upPressTime = 0; + +//---------------------------------------- +var downBottom = 0; +var downPageYOffset = 0; + +var downPressTime = 0; + + +//---------------------------------------- + + +function scrollLoop() { + + + /* -- UpWin ----------------------------------------------------- */ + if(downWindowObject.document.getElementById('upWinU')) { + + upBottom = parseInt(gkong.GetUpDocumentHeight()); + upPageYOffset = parseInt(upWindowObject.pageYOffset); + + if (upPageYOffset == 0) { + if (lockScroll(upWinU)) { + // gkong.PlaySE(6); + } + } else { + unlockScroll(upWinU); + if (upMouseState == 1) { //-- scroll up + if (upPressTime > buttonIntervalFrame) { + // gkong.PlaySE(0); + upWindowObject.scrollBy(0, -scrollPx); + } else { + if (upPressTime == 0) { + // gkong.PlaySE(0); + upWindowObject.scrollBy(0, -scrollPx); + } + upPressTime += 1; + } + } else { + ; + } + } + + + if (upPageYOffset + 192 >= upBottom) { + if (lockScroll(upWinD)) { + // gkong.PlaySE(6); + } + } else { + unlockScroll(upWinD); + if (upMouseState == 2) { //-- scroll down + if (upPressTime > buttonIntervalFrame) { + // gkong.PlaySE(0); + upWindowObject.scrollBy(0, scrollPx); + } else { + if (upPressTime == 0) { + // gkong.PlaySE(0); + upWindowObject.scrollBy(0, scrollPx); + } + upPressTime += 1; + } + } else { + ; + } + } + + + if (upMouseState == 0) { + upPressTime = 0; + } + + + } + + + + /* -- dnWin ----------------------------------------------------- */ + if(downWindowObject.document.getElementById('dnWinU')) { + + DownBottom = parseInt(gkong.GetDownDocumentHeight()); + downPageYOffset = parseInt(downWindowObject.pageYOffset); + + if (downPageYOffset == 0) { + if (lockScroll(dnWinU)) { + // gkong.PlaySE(6); + } + } else { + unlockScroll(dnWinU); + if (downMouseState == 1) { //-- scroll up + if (downPressTime > buttonIntervalFrame) { + // gkong.PlaySE(0); + downWindowObject.scrollBy(0, -scrollPx); + } else { + if (downPressTime == 0) { + // gkong.PlaySE(0); + downWindowObject.scrollBy(0, -scrollPx); + } + downPressTime += 1; + } + } else { + ; + } + } + + + if (downPageYOffset + 192 >= DownBottom) { + if (lockScroll(dnWinD)) { + // gkong.PlaySE(6); + } + } else { + unlockScroll(dnWinD); + if (downMouseState == 2) { //-- scroll down + if (downPressTime > buttonIntervalFrame) { + // gkong.PlaySE(0); + downWindowObject.scrollBy(0, scrollPx); + } else { + if (downPressTime == 0) { + // gkong.PlaySE(0); + downWindowObject.scrollBy(0, scrollPx); + } + downPressTime += 1; + } + } else { + ; + } + } + + + if (downMouseState == 0) { + downPressTime = 0; + } + + + } + + + setTimeout("scrollLoop()", intervalMSec); //into an infinite loop. + +} + + + +function scrollStart() { + setScrollButtonImages(upWinU); + setScrollButtonImages(upWinD); + setScrollButtonImages(dnWinU); + setScrollButtonImages(dnWinD); + scrollLoop(); +} + + + +/* #### 20080628 #### for PC Opera 9.5 */ +var gkong = new Kong(); + + +/* #### 20080628 #### for PC Opera 9.5 */ +/* #### 20080628 #### Added for loading icon. */ +//window.onload = scrollStart; +window.addEventListener('load', function(){ gkong.HideLoadingIcon(); if (window.name == "DownWindow") { scrollStart(); } }, false); +window.addEventListener('unload', function(){ gkong.ShowLoadingIcon(); }, false); + + + + diff --git a/SMC/font_check/js/load_kong.js b/SMC/font_check/js/load_kong.js new file mode 100644 index 0000000..35da177 --- /dev/null +++ b/SMC/font_check/js/load_kong.js @@ -0,0 +1,57 @@ +/***************************** + Load Kong Script + *****************************/ +/* + Load kong.js +*/ + +if ( !window.Kong ) +{ + //-- for PC Browser only + document.write(""); + document.write(""); + +} else { + + /* #### 20080628 #### for PC Opera 9.5 */ + var gkong = new Kong; + +} + + + + + +/* + Set window name +*/ + + //-- switch the window to window.open + + //-- html filename format rule : + //-- for UpWindow : u*.html or *u.html + //-- for DownWindow : d*.html or *d.html + +var url = window.location.href; +var head = url.substring( url.lastIndexOf("/")+1, url.lastIndexOf("/")+2 ).toLowerCase(); +var foot = url.substring( url.lastIndexOf(".")-1, url.lastIndexOf(".") ).toLowerCase(); + +if (foot == "u" || head == "u") +{ + window.name = "UpWindow"; +} +else if (foot =="d" || head == "d") +{ + window.name = "DownWindow"; +} + + + +var upWindowObject = window.open('', 'UpWindow'); +var downWindowObject = window.open('', 'DownWindow'); + + + +/* #### 20080628 #### Added $(). */ +var $ = function(arg){ return document.getElementById(arg) }; + diff --git a/SMC/font_check/js/multi_page_DOM.js b/SMC/font_check/js/multi_page_DOM.js new file mode 100644 index 0000000..67fdca0 --- /dev/null +++ b/SMC/font_check/js/multi_page_DOM.js @@ -0,0 +1,233 @@ +//======================================== +// multi_page_DOM.js +//======================================== + + +/* #### 20080702 #### Added note. */ + +/* +// how to redraw by DOM (ManualTransition). + + +== ex ==== + + + ---- .html -------- + +
+
????????
+
+
+ + + + + ---- .js -------- + + function REDRAW_BY_DOM() { + + //-- to prevent clicking twice. + if (getClickedTransition() == true ) return; + setClickedTransition(); + + //==================================================== + //-- lock the old screen. + //==================================================== + gkong.SetTransitionRangeOnce(......); // #### 20080702 #### SetTransition* MUST BE CALLED. + gkong.SetManualTransition(......); + + + // redraw by DOM. + : + : + : + + waitAllImagesComplete(); + + + //==================================================== + //-- start to exchange the old screen to the new screen. + //==================================================== + gkong.StartManualTransition(); + + gkong.HideLoadingIcon(); + gkong.PlaySE(TWL_SHOP_SE_TRANSIT); + + //-- to be clickable. + clearClickedStates(); + + } + +*/ + + + +/* #### 20080715 #### Moved to "base.js". */ +// var WAIT_FOR_MANUALTRANSITION = 300; + + +var gTotalPages = 0; + +var gMaxContentNum = 0; +var gContentsPerPage = 0; +var gMaxPageNum = 0; + +var gPageNum = 0; +var gContentStart = 0; +var gCurrentContent = 0; + + + +var gIsInit = true; + + +function getPageNum() { return gPageNum; } +function getMaxPageNum() { return gMaxPageNum; } + +/* will be defined in HTML files */ +var gfnSetBtnContent = function() {} +var gfnChangePageTitle = function() {} + +/* ---- */ +var gTRangeUpY0 = 0; +var gTRangeUpY1 = 192; /* #### 20080711 #### Changed from 191 to 192. */ +var gTRangeDnY0 = 26; +var gTRangeDnY1 = 164; + +function setTRangeOnce() { gkong.SetTransitionRangeOnce(gTRangeUpY0, gTRangeUpY1, gTRangeDnY0, gTRangeDnY1); } + + + +function initDOM() { + var a = initDOM.arguments; + gTotalPages = a[0]; + gTopPageInThis = a[1]; + gMaxContentNum = a[2]; + gContentsPerPage = a[3]; + gMaxPageNum = a[4]; + gPageNum = a[5]; + gBtnIdBasename = a[6]; + gSpanIdPageNum = a[7]; + if (a[8]) { gfnSetBtnContent = a[8]; } + if (a[9]) { gfnChangePageTitle = a[9]; } + changeDOM(); +} + + +function changeDOM() { + + if (getClickedTransition() == true ) return; /*@@@@*/ + + //------------------------------------------ + setClickedTransition(); /*@@@@*/ + //------------------------------------------ + + var a = changeDOM.arguments; + + if (a.length == 0) { + + var isInit = true; + + } else { + + sleep(WAIT_FOR_MANUALTRANSITION); + + var isInit = false; + + var pm = a[0]; + var animU = a[1]; + var animD = a[2]; + if (!animU) { animU = WIPE_ANIM_NONE; } + if (!animD) { animD = WIPE_ANIM_NONE; } + + setTRangeOnce(); /*@@@@*/ + gkong.SetManualTransition(animU, animD); /*@@@@*/ + + + gPageNum += pm; + if ( gPageNum < 1 ) { gPageNum = gMaxPageNum; } + if ( gPageNum > gMaxPageNum ) { gPageNum = 1; } + + } + + + gContentStart = 1 + ( gPageNum - 1 ) * gContentsPerPage; + + + clearCursor(); + + for (i = 1; i <= gContentsPerPage; i++) { + + var o = $(gBtnIdBasename + i); + var gContentNum = ( gContentStart - 1 ) + i; + + if (isInit) { + setButtonImages(o); + } else { + } + + + if (gContentNum <= gMaxContentNum) { + gfnSetBtnContent(o, i, gContentNum, true); /* will be defined in HTML files */ + // if (gContentNum == gCurrentContent) { setCursor(o); } + } else { + gfnSetBtnContent(o, i, gContentNum, false); /* will be defined in HTML files */ + } + + } + + + $(gSpanIdPageNum).innerHTML = "" + (gTopPageInThis - 1 + gPageNum) + " / " + gTotalPages; + + gfnChangePageTitle(); /* will be defined in HTML files */ + + waitAllImagesComplete(); /*@@@@*/ + + + if (isInit) { + isInit = false; + } else { + gkong.StartManualTransition(); /*@@@@*/ + } + + gkong.HideLoadingIcon(); /*@@@@*/ + gkong.PlaySE(TWL_SHOP_SE_TRANSIT); /*@@@@*/ + + + //------------------------------------------ + clearClickedStates(); /*@@@@*/ + //------------------------------------------ + + +} + + +/* #### 20080712 #### Deleted functions to prevent clicking twice. */ +function setUrlTRangeOnceUD( urlU, animU, urlD, animD ) { + setTRangeOnce(); + setUrlUD(urlU, animU, urlD, animD); +} + +/* #### 20080712 #### Deleted functions to prevent clicking twice. */ +function setUrlTRangeOnceU( urlU, animU ) { + setTRangeOnce(); + setUrlU(urlU, animU); +} + +/* #### 20080712 #### Deleted functions to prevent clicking twice. */ +function setUrlTRangeOnceD( urlD, animD ) { + setTRangeOnce(); + setUrlD(urlD, animD); +} + + +/* #### 20080712 #### Moved to "base.js". */ +// function waitImageComplete( o ) {} + +/* #### 20080712 #### Moved to "base.js". */ +// function waitAllImagesComplete() {} + + diff --git a/SMC/font_check/js/se.js b/SMC/font_check/js/se.js new file mode 100644 index 0000000..0e5f61e --- /dev/null +++ b/SMC/font_check/js/se.js @@ -0,0 +1,9 @@ +//---------------------------------------- +//-- define : SE No. (refer to sound_data.sadl) + +/* #### 20080628 #### Changed SE No. */ + +var TWL_SHOP_SE_ONMOUSEDOWN = 20; +var TWL_SHOP_SE_ONCLICK = 19; +var TWL_SHOP_SE_TRANSIT = 17; + diff --git a/SMC/font_check/shopmock/default.css b/SMC/font_check/shopmock/default.css new file mode 100644 index 0000000..52c348f --- /dev/null +++ b/SMC/font_check/shopmock/default.css @@ -0,0 +1,45 @@ +/* Common CSS */ +@font-face { + font-family: dsifont; + src: url(/assets/dsi/nintendo_NTLGDB_001.ttf); +} +html * { + font-family: dsifont; +} +h1 +{ + font-size: 16px; + text-decoration: underline; + background-color: #CCFFCC; + margin: 4px 0px; +} +body +{ + font-size: 12px; +} +table +{ + border-width: 1px; + border-collapse: separate; + border-spacing: 0px; +} +td +{ + padding: 2px; +} +ul +{ + padding: 0px; + margin: 0px 12px; +} + +#up_url, #down_url +{ + width: 95%; +} + +#app_version +{ + text-align: right; + background-color: #CCC; +} diff --git a/SMC/font_check/shopmock/fontlist_01_d.html b/SMC/font_check/shopmock/fontlist_01_d.html new file mode 100644 index 0000000..7a754ce --- /dev/null +++ b/SMC/font_check/shopmock/fontlist_01_d.html @@ -0,0 +1,172 @@ + + + + + + + + + + + + + +FontList + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +#no message
+ +FontSize : +S + +M + +L + + + + + + +
+ + + + + +
+ +
+ + + + + + + + + + +
+
+ Back +
+
+
+ + + + + +
+
+
+ + + + + + +
1/4
+ + + +
+
+
+ + + + + + + + + + + + + + diff --git a/SMC/font_check/shopmock/fontlist_01_index.html b/SMC/font_check/shopmock/fontlist_01_index.html new file mode 100644 index 0000000..d849b13 --- /dev/null +++ b/SMC/font_check/shopmock/fontlist_01_index.html @@ -0,0 +1,11 @@ +--- +title: DSi Shop +layout: dsiware +--- +
+ +
+ +
diff --git a/SMC/font_check/shopmock/fontlist_01_u.html b/SMC/font_check/shopmock/fontlist_01_u.html new file mode 100644 index 0000000..735eb86 --- /dev/null +++ b/SMC/font_check/shopmock/fontlist_01_u.html @@ -0,0 +1,136 @@ + + + + + + + + +FontList + + + + + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +




 !"#$%&'
()*+,-./
01234567
89:;<=>?
@ABCDEFG
HIJKLMNO
PQRSTUVW
XYZ[\]^_
`abcdefg
hijklmno
pqrstuvw
xyz{|}~


ƒ
ˆŠŒŽ
˜šœžŸ


 ¡¢£¤¥¦§
¨©ª«¬­®¯
°±²³´µ·
¸¹º»¼½¾¿
ÀÁÂÃÄÅÆÇ
ÈÉÊËÌÍÎÏ
ÐÑÒÓÔÕÖ×
ØÙÚÛÜÝÞß
àáâãäåæç
èéêëìíîï
ðñòóôõö÷
øùúûüýþÿ


ͺ;΅Ά·΄
ΈΉΊΌΎΏ
ΐΑΒΓΔΕΖΗ
ΘΙΚΛΜΝΞΟ
ΠΡΣ ΤΥΦΧ
ΨΩΪΫάέήί
ΰαβγδεζη
θικλμνξο
πρςστυφχ
ψωϊϋόύώ
+ +
+

0x00AD (Soft Hyphen) Display Test

+

下の文字列の画面右端のみハイフンが表示され、それ以外では表示されていなければOK.

+

+A­B­C­D­E­F­G­H­I­J­K­L­M­N­O­P­Q­R­S­T­U­V­W­X­Y­Z­a­b­c­d­e­f­g­h­i­j­k­l­m­n­o­p­q­r­s­t­u­v­w­x­y­z­
+

+
+ + +
+
+ + +
+
+ + diff --git a/SMC/font_check/shopmock/fontlist_02_d.html b/SMC/font_check/shopmock/fontlist_02_d.html new file mode 100644 index 0000000..16bbb08 --- /dev/null +++ b/SMC/font_check/shopmock/fontlist_02_d.html @@ -0,0 +1,170 @@ + + + + + + + + + + + + + +FontList + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +#no message
+ +FontSize : +S + +M + +L + + + + + + +
+ + + + + +
+ +
+ + + + + + + + + + +
+
+ Back +
+
+
+ + + + + +
+
+
+ + + + + + +
2/4
+ + + +
+
+
+ + + + + + + + + + + + + + diff --git a/SMC/font_check/shopmock/fontlist_02_index.html b/SMC/font_check/shopmock/fontlist_02_index.html new file mode 100644 index 0000000..0b0a79b --- /dev/null +++ b/SMC/font_check/shopmock/fontlist_02_index.html @@ -0,0 +1,11 @@ +--- +title: DSi Shop +layout: dsiware +--- +
+ +
+ +
diff --git a/SMC/font_check/shopmock/fontlist_02_u.html b/SMC/font_check/shopmock/fontlist_02_u.html new file mode 100644 index 0000000..45cd9c6 --- /dev/null +++ b/SMC/font_check/shopmock/fontlist_02_u.html @@ -0,0 +1,153 @@ + + + + + + + + +FontList + + + + + + + +
+ + + +
+ +
+
+   。  「  」  、  ・  ヲ  ァ
+ィ  ゥ  ェ  ォ  ャ  ュ  ョ  ッ
+ー  ア  イ  ウ  エ  オ  カ  キ
+ク  ケ  コ  サ  シ  ス  セ  ソ
+タ  チ  ツ  テ  ト  ナ  ニ  ヌ
+ネ  ノ  ハ  ヒ  フ  ヘ  ホ  マ
+ミ  ム  メ  モ  ヤ  ユ  ヨ  ラ
+リ  ル  レ  ロ  ワ  ン  ゙  ゚
+
+
+  、 。 , . ・ : ;
+        ? ! ゛ ゜
+
+          `
+
+              ^
+ ̄ _ ヽ ヾ ゝ ゞ 〃 仝
+々 〆 〇 ー ― ‐ / \
+~ ∥ |
+
+        ‥      
+
+
+  ( ) 〔 〕 [ ] {
+} 〈 〉 《 》 「 」 『
+』 【 】 + -
+= ≠ < > ≦ ≧ ∞ ∴
+♂ ♀
+
+      ′ ″ ℃ ¥ $
+¢ £ % # & * @
+
+
+☆ ★ ○ ● ◎ ◇ ◆ □
+■ △ ▲ ▽ ▼ ※ 〒 →
+← ↑ ↓ 〓 ∈ ∋ ⊆ ⊇
+⊂ ⊃ ∪ ∩ ∧ ∨ ¬ ⇒
+⇔ ∀ ∃ ∠ ⊥ ⌒ ∂ ∇
+≡ ≒ ≪ ≫ √ ∽ ∝ ∵
+∫ ∬ Å
+                 
+        ♯ ♭ ♪
+    ◯ 0 1 2 3 4
+5 6 7 8 9 A B C
+D E F G H I J K
+L M N O P Q R S
+T U V W X Y Z a
+b c d e f g h i
+j k l m n o p q
+r s t u v w x y
+z ぁ あ ぃ い ぅ う ぇ
+え ぉ お か が き ぎ く
+ぐ け げ こ ご さ ざ し
+じ す ず せ ぜ そ ぞ た
+だ ち ぢ っ つ づ て で
+と ど な に ぬ ね の は
+ば ぱ ひ び ぴ ふ ぶ ぷ
+へ べ ぺ ほ ぼ ぽ ま み
+む め も ゃ や ゅ ゆ ょ
+よ ら り る れ ろ ゎ わ
+ゐ ゑ を ん ァ ア ィ イ
+ゥ ウ ェ エ ォ オ カ ガ
+キ ギ ク グ ケ ゲ コ ゴ
+サ ザ シ ジ ス ズ セ ゼ
+ソ ゾ タ ダ チ ヂ ッ ツ
+ヅ テ デ ト ド ナ ニ ヌ
+ネ ノ ハ バ パ ヒ ビ ピ
+フ ブ プ ヘ ベ ペ ホ ボ
+ポ マ ミ ム メ モ ャ ヤ
+ュ ユ ョ ヨ ラ リ ル レ
+ロ ヮ ワ ヰ ヱ ヲ ン ヴ
+ヵ ヶ
+
+
+                
+    А Б В Г Д Е
+Ё Ж З И Й К Л М
+Н О П Р С Т У Ф
+Х Ц Ч Ш Щ Ъ Ы Ь
+Э Ю Я а б в г д
+е ё ж з и й к л
+м н о п р с т у
+ф х ц ч ш щ ъ ы
+ь э ю я ─ │ ┌ ┐
+┘ └ ├ ┬ ┤ ┴ ┼ ━
+┃ ┏ ┓ ┛ ┗ ┣ ┳ ┫
+┻ ╋ ┠ ┯ ┨ ┷ ┿ ┝
+┰ ┥ ┸ ╂ ① ② ③ ④
+⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫
+⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳
+Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ
+Ⅸ Ⅹ ㍉ ㌔ ㌢ ㍍ ㌘ ㌧
+㌃ ㌶ ㍑ ㍗ ㌍ ㌦ ㌣ ㌫
+㍊ ㌻ ㎜ ㎝ ㎞ ㎎ ㎏ ㏄
+㎡ ㍻ 〝 〟 № ㏍ ℡ ㊤
+㊥ ㊦ ㊧ ㊨ ㈱ ㈲ ㈹ ㍾
+㍽ ㍼ ∮ ∑ ∟ ⊿
+
+ +
+ + +
+
+ + +
+
+ + diff --git a/SMC/font_check/shopmock/fontlist_03_d.html b/SMC/font_check/shopmock/fontlist_03_d.html new file mode 100644 index 0000000..8c0bb01 --- /dev/null +++ b/SMC/font_check/shopmock/fontlist_03_d.html @@ -0,0 +1,170 @@ + + + + + + + + + + + + + +FontList + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +#no message
+ +FontSize : +S + +M + +L + + + + + + +
+ + + + + +
+ +
+ + + + + + + + + + +
+
+ Back +
+
+
+ + + + + +
+
+
+ + + + + + +
3/4
+ + + +
+
+
+ + + + + + + + + + + + + + diff --git a/SMC/font_check/shopmock/fontlist_03_index.html b/SMC/font_check/shopmock/fontlist_03_index.html new file mode 100644 index 0000000..4c8c861 --- /dev/null +++ b/SMC/font_check/shopmock/fontlist_03_index.html @@ -0,0 +1,11 @@ +--- +title: DSi Shop +layout: dsiware +--- +
+ +
+ +
diff --git a/SMC/font_check/shopmock/fontlist_03_u.html b/SMC/font_check/shopmock/fontlist_03_u.html new file mode 100644 index 0000000..41713fd --- /dev/null +++ b/SMC/font_check/shopmock/fontlist_03_u.html @@ -0,0 +1,427 @@ + + + + + + + + +FontList + + + + + + + +
+ + + +
+ +
+
+            亜 唖
+娃 阿 哀 愛 挨 姶 逢 葵
+茜 穐 悪 握 渥 旭 葦 芦
+鯵 梓 圧 斡 扱 宛 姐 虻
+飴 絢 綾 鮎 或 粟 袷 安
+庵 按 暗 案 闇 鞍 杏 以
+伊 位 依 偉 囲 夷 委 威
+尉 惟 意 慰 易 椅 為 畏
+異 移 維 緯 胃 萎 衣 謂
+違 遺 医 井 亥 域 育 郁
+磯 一 壱 溢 逸 稲 茨 芋
+鰯 允 印 咽 員 因 姻 引
+飲 淫 胤 蔭 院 陰 隠 韻
+吋 右 宇 烏 羽 迂 雨 卯
+鵜 窺 丑 碓 臼 渦 嘘 唄
+欝 蔚 鰻 姥 厩 浦 瓜 閏
+噂 云 運 雲 荏 餌 叡 営
+嬰 影 映 曳 栄 永 泳 洩
+瑛 盈 穎 頴 英 衛 詠 鋭
+液 疫 益 駅 悦 謁 越 閲
+榎 厭 円 園 堰 奄 宴 延
+怨 掩 援 沿 演 炎 焔 煙
+燕 猿 縁 艶 苑 薗 遠 鉛
+鴛 塩 於 汚 甥 凹 央 奥
+往 応 押 旺 横 欧 殴 王
+翁 襖 鴬 鴎 黄 岡 沖 荻
+億 屋 憶 臆 桶 牡 乙 俺
+卸 恩 温 穏 音 下 化 仮
+何 伽 価 佳 加 可 嘉 夏
+嫁 家 寡 科 暇 果 架 歌
+河 火 珂 禍 禾 稼 箇 花
+苛 茄 荷 華 菓 蝦 課 嘩
+貨 迦 過 霞 蚊 俄 峨 我 +牙 画 臥 芽 蛾 賀 雅 餓 +駕 介 会 解 回 塊 壊 廻 +快 怪 悔 恢 懐 戒 拐 改 +魁 晦 械 海 灰 界 皆 絵 +芥 蟹 開 階 貝 凱 劾 外 +咳 害 崖 慨 概 涯 碍 蓋 +街 該 鎧 骸 浬 馨 蛙 垣 +柿 蛎 鈎 劃 嚇 各 廓 拡 +撹 格 核 殻 獲 確 穫 覚 +角 赫 較 郭 閣 隔 革 学 +岳 楽 額 顎 掛 笠 樫 橿 +梶 鰍 潟 割 喝 恰 括 活 +渇 滑 葛 褐 轄 且 鰹 叶 +椛 樺 鞄 株 兜 竃 蒲 釜 +鎌 噛 鴨 栢 茅 萱 粥 刈 +苅 瓦 乾 侃 冠 寒 刊 勘 +勧 巻 喚 堪 姦 完 官 寛 +干 幹 患 感 慣 憾 換 敢 +柑 桓 棺 款 歓 汗 漢 澗 +潅 環 甘 監 看 竿 管 簡 +緩 缶 翰 肝 艦 莞 観 諌 +貫 還 鑑 間 閑 関 陥 韓 +館 舘 丸 含 岸 巌 玩 癌 +眼 岩 翫 贋 雁 頑 顔 願 +企 伎 危 喜 器 基 奇 嬉 +寄 岐 希 幾 忌 揮 机 旗 +既 期 棋 棄 機 帰 毅 気 +汽 畿 祈 季 稀 紀 徽 規 +記 貴 起 軌 輝 飢 騎 鬼 +亀 偽 儀 妓 宜 戯 技 擬 +欺 犠 疑 祇 義 蟻 誼 議
+掬 菊 鞠 吉 吃 喫 桔 橘 +詰 砧 杵 黍 却 客 脚 虐 +逆 丘 久 仇 休 及 吸 宮 +弓 急 救 朽 求 汲 泣 灸 +球 究 窮 笈 級 糾 給 旧 +牛 去 居 巨 拒 拠 挙 渠 +虚 許 距 鋸 漁 禦 魚 亨 +享 京 供 侠 僑 兇 競 共 +凶 協 匡 卿 叫 喬 境 峡 +強 彊 怯 恐 恭 挟 教 橋 +況 狂 狭 矯 胸 脅 興 蕎 +郷 鏡 響 饗 驚 仰 凝 尭 +暁 業 局 曲 極 玉 桐 粁 +僅 勤 均 巾 錦 斤 欣 欽 +琴 禁 禽 筋 緊 芹 菌 衿 +襟 謹 近 金 吟 銀 九 倶 +句 区 狗 玖 矩 苦 躯 駆 +駈 駒 具 愚 虞 喰 空 偶 +寓 遇 隅 串 櫛 釧 屑 屈 +掘 窟 沓 靴 轡 窪 熊 隈 +粂 栗 繰 桑 鍬 勲 君 薫 +訓 群 軍 郡 卦 袈 祁 係 +傾 刑 兄 啓 圭 珪 型 契 +形 径 恵 慶 慧 憩 掲 携 +敬 景 桂 渓 畦 稽 系 経 +継 繋 罫 茎 荊 蛍 計 詣 +警 軽 頚 鶏 芸 迎 鯨 劇 +戟 撃 激 隙 桁 傑 欠 決 +潔 穴 結 血 訣 月 件 倹 +倦 健 兼 券 剣 喧 圏 堅 +嫌 建 憲 懸 拳 捲 検 権 +牽 犬 献 研 硯 絹 県 肩
+見 謙 賢 軒 遣 鍵 険 顕 +験 鹸 元 原 厳 幻 弦 減 +源 玄 現 絃 舷 言 諺 限 +乎 個 古 呼 固 姑 孤 己 +庫 弧 戸 故 枯 湖 狐 糊 +袴 股 胡 菰 虎 誇 跨 鈷 +雇 顧 鼓 五 互 伍 午 呉 +吾 娯 後 御 悟 梧 檎 瑚 +碁 語 誤 護 醐 乞 鯉 交 +佼 侯 候 倖 光 公 功 効 +勾 厚 口 向 后 喉 坑 垢 +好 孔 孝 宏 工 巧 巷 幸 +広 庚 康 弘 恒 慌 抗 拘 +控 攻 昂 晃 更 杭 校 梗 +構 江 洪 浩 港 溝 甲 皇 +硬 稿 糠 紅 紘 絞 綱 耕 +考 肯 肱 腔 膏 航 荒 行 +衡 講 貢 購 郊 酵 鉱 砿 +鋼 閤 降 項 香 高 鴻 剛 +劫 号 合 壕 拷 濠 豪 轟 +麹 克 刻 告 国 穀 酷 鵠 +黒 獄 漉 腰 甑 忽 惚 骨 +狛 込 此 頃 今 困 坤 墾 +婚 恨 懇 昏 昆 根 梱 混 +痕 紺 艮 魂 些 佐 叉 唆 +嵯 左 差 査 沙 瑳 砂 詐 +鎖 裟 坐 座 挫 債 催 再 +最 哉 塞 妻 宰 彩 才 採 +栽 歳 済 災 采 犀 砕 砦 +祭 斎 細 菜 裁 載 際 剤 +在 材 罪 財 冴 坂 阪 堺 +榊 肴 咲 崎 埼 碕 鷺 作
+削 咋 搾 昨 朔 柵 窄 策 +索 錯 桜 鮭 笹 匙 冊 刷 +察 拶 撮 擦 札 殺 薩 雑 +皐 鯖 捌 錆 鮫 皿 晒 三 +傘 参 山 惨 撒 散 桟 燦 +珊 産 算 纂 蚕 讃 賛 酸 +餐 斬 暫 残 仕 仔 伺 使 +刺 司 史 嗣 四 士 始 姉 +姿 子 屍 市 師 志 思 指 +支 孜 斯 施 旨 枝 止 死 +氏 獅 祉 私 糸 紙 紫 肢 +脂 至 視 詞 詩 試 誌 諮 +資 賜 雌 飼 歯 事 似 侍 +児 字 寺 慈 持 時 次 滋 +治 爾 璽 痔 磁 示 而 耳 +自 蒔 辞 汐 鹿 式 識 鴫 +竺 軸 宍 雫 七 叱 執 失 +嫉 室 悉 湿 漆 疾 質 実 +蔀 篠 偲 柴 芝 屡 蕊 縞 +舎 写 射 捨 赦 斜 煮 社 +紗 者 謝 車 遮 蛇 邪 借 +勺 尺 杓 灼 爵 酌 釈 錫 +若 寂 弱 惹 主 取 守 手 +朱 殊 狩 珠 種 腫 趣 酒 +首 儒 受 呪 寿 授 樹 綬 +需 囚 収 周 宗 就 州 修 +愁 拾 洲 秀 秋 終 繍 習 +臭 舟 蒐 衆 襲 讐 蹴 輯 +週 酋 酬 集 醜 什 住 充 +十 従 戎 柔 汁 渋 獣 縦 +重 銃 叔 夙 宿 淑 祝 縮 +粛 塾 熟 出 術 述 俊 峻
+春 瞬 竣 舜 駿 准 循 旬 +楯 殉 淳 準 潤 盾 純 巡 +遵 醇 順 処 初 所 暑 曙 +渚 庶 緒 署 書 薯 藷 諸 +助 叙 女 序 徐 恕 鋤 除 +傷 償 勝 匠 升 召 哨 商 +唱 嘗 奨 妾 娼 宵 将 小 +少 尚 庄 床 廠 彰 承 抄 +招 掌 捷 昇 昌 昭 晶 松 +梢 樟 樵 沼 消 渉 湘 焼 +焦 照 症 省 硝 礁 祥 称 +章 笑 粧 紹 肖 菖 蒋 蕉 +衝 裳 訟 証 詔 詳 象 賞 +醤 鉦 鍾 鐘 障 鞘 上 丈 +丞 乗 冗 剰 城 場 壌 嬢 +常 情 擾 条 杖 浄 状 畳 +穣 蒸 譲 醸 錠 嘱 埴 飾 +拭 植 殖 燭 織 職 色 触 +食 蝕 辱 尻 伸 信 侵 唇 +娠 寝 審 心 慎 振 新 晋 +森 榛 浸 深 申 疹 真 神 +秦 紳 臣 芯 薪 親 診 身 +辛 進 針 震 人 仁 刃 塵 +壬 尋 甚 尽 腎 訊 迅 陣 +靭 笥 諏 須 酢 図 厨 逗 +吹 垂 帥 推 水 炊 睡 粋 +翠 衰 遂 酔 錐 錘 随 瑞 +髄 崇 嵩 数 枢 趨 雛 据 +杉 椙 菅 頗 雀 裾 澄 摺 +寸 世 瀬 畝 是 凄 制 勢 +姓 征 性 成 政 整 星 晴 +棲 栖 正 清 牲 生 盛 精
+聖 声 製 西 誠 誓 請 逝 +醒 青 静 斉 税 脆 隻 席 +惜 戚 斥 昔 析 石 積 籍 +績 脊 責 赤 跡 蹟 碩 切 +拙 接 摂 折 設 窃 節 説 +雪 絶 舌 蝉 仙 先 千 占 +宣 専 尖 川 戦 扇 撰 栓 +栴 泉 浅 洗 染 潜 煎 煽 +旋 穿 箭 線 繊 羨 腺 舛 +船 薦 詮 賎 践 選 遷 銭 +銑 閃 鮮 前 善 漸 然 全 +禅 繕 膳 糎 噌 塑 岨 措 +曾 曽 楚 狙 疏 疎 礎 祖 +租 粗 素 組 蘇 訴 阻 遡 +鼠 僧 創 双 叢 倉 喪 壮 +奏 爽 宋 層 匝 惣 想 捜 +掃 挿 掻 操 早 曹 巣 槍 +槽 漕 燥 争 痩 相 窓 糟 +総 綜 聡 草 荘 葬 蒼 藻 +装 走 送 遭 鎗 霜 騒 像 +増 憎 臓 蔵 贈 造 促 側 +則 即 息 捉 束 測 足 速 +俗 属 賊 族 続 卒 袖 其 +揃 存 孫 尊 損 村 遜 他 +多 太 汰 詑 唾 堕 妥 惰 +打 柁 舵 楕 陀 駄 騨 体 +堆 対 耐 岱 帯 待 怠 態 +戴 替 泰 滞 胎 腿 苔 袋 +貸 退 逮 隊 黛 鯛 代 台 +大 第 醍 題 鷹 滝 瀧 卓 +啄 宅 托 択 拓 沢 濯 琢 +託 鐸 濁 諾 茸 凧 蛸 只
+叩 但 達 辰 奪 脱 巽 竪 +辿 棚 谷 狸 鱈 樽 誰 丹 +単 嘆 坦 担 探 旦 歎 淡 +湛 炭 短 端 箪 綻 耽 胆 +蛋 誕 鍛 団 壇 弾 断 暖 +檀 段 男 談 値 知 地 弛 +恥 智 池 痴 稚 置 致 蜘 +遅 馳 築 畜 竹 筑 蓄 逐 +秩 窒 茶 嫡 着 中 仲 宙 +忠 抽 昼 柱 注 虫 衷 註 +酎 鋳 駐 樗 瀦 猪 苧 著 +貯 丁 兆 凋 喋 寵 帖 帳 +庁 弔 張 彫 徴 懲 挑 暢 +朝 潮 牒 町 眺 聴 脹 腸 +蝶 調 諜 超 跳 銚 長 頂 +鳥 勅 捗 直 朕 沈 珍 賃 +鎮 陳 津 墜 椎 槌 追 鎚 +痛 通 塚 栂 掴 槻 佃 漬 +柘 辻 蔦 綴 鍔 椿 潰 坪 +壷 嬬 紬 爪 吊 釣 鶴 亭 +低 停 偵 剃 貞 呈 堤 定 +帝 底 庭 廷 弟 悌 抵 挺 +提 梯 汀 碇 禎 程 締 艇 +訂 諦 蹄 逓 邸 鄭 釘 鼎 +泥 摘 擢 敵 滴 的 笛 適 +鏑 溺 哲 徹 撤 轍 迭 鉄 +典 填 天 展 店 添 纏 甜 +貼 転 顛 点 伝 殿 澱 田 +電 兎 吐 堵 塗 妬 屠 徒 +斗 杜 渡 登 菟 賭 途 都 +鍍 砥 砺 努 度 土 奴 怒 +倒 党 冬 凍 刀 唐 塔 塘
+套 宕 島 嶋 悼 投 搭 東 +桃 梼 棟 盗 淘 湯 涛 灯 +燈 当 痘 祷 等 答 筒 糖 +統 到 董 蕩 藤 討 謄 豆 +踏 逃 透 鐙 陶 頭 騰 闘 +働 動 同 堂 導 憧 撞 洞 +瞳 童 胴 萄 道 銅 峠 鴇 +匿 得 徳 涜 特 督 禿 篤 +毒 独 読 栃 橡 凸 突 椴 +届 鳶 苫 寅 酉 瀞 噸 屯 +惇 敦 沌 豚 遁 頓 呑 曇 +鈍 奈 那 内 乍 凪 薙 謎 +灘 捺 鍋 楢 馴 縄 畷 南 +楠 軟 難 汝 二 尼 弐 迩 +匂 賑 肉 虹 廿 日 乳 入 +如 尿 韮 任 妊 忍 認 濡 +禰 祢 寧 葱 猫 熱 年 念 +捻 撚 燃 粘 乃 廼 之 埜 +嚢 悩 濃 納 能 脳 膿 農 +覗 蚤 巴 把 播 覇 杷 波 +派 琶 破 婆 罵 芭 馬 俳 +廃 拝 排 敗 杯 盃 牌 背 +肺 輩 配 倍 培 媒 梅 楳 +煤 狽 買 売 賠 陪 這 蝿 +秤 矧 萩 伯 剥 博 拍 柏 +泊 白 箔 粕 舶 薄 迫 曝 +漠 爆 縛 莫 駁 麦 函 箱 +硲 箸 肇 筈 櫨 幡 肌 畑 +畠 八 鉢 溌 発 醗 髪 伐 +罰 抜 筏 閥 鳩 噺 塙 蛤 +隼 伴 判 半 反 叛 帆 搬 +斑 板 氾 汎 版 犯 班 畔
+繁 般 藩 販 範 釆 煩 頒 +飯 挽 晩 番 盤 磐 蕃 蛮 +匪 卑 否 妃 庇 彼 悲 扉 +批 披 斐 比 泌 疲 皮 碑 +秘 緋 罷 肥 被 誹 費 避 +非 飛 樋 簸 備 尾 微 枇 +毘 琵 眉 美 鼻 柊 稗 匹 +疋 髭 彦 膝 菱 肘 弼 必 +畢 筆 逼 桧 姫 媛 紐 百 +謬 俵 彪 標 氷 漂 瓢 票 +表 評 豹 廟 描 病 秒 苗 +錨 鋲 蒜 蛭 鰭 品 彬 斌 +浜 瀕 貧 賓 頻 敏 瓶 不 +付 埠 夫 婦 富 冨 布 府 +怖 扶 敷 斧 普 浮 父 符 +腐 膚 芙 譜 負 賦 赴 阜 +附 侮 撫 武 舞 葡 蕪 部 +封 楓 風 葺 蕗 伏 副 復 +幅 服 福 腹 複 覆 淵 弗 +払 沸 仏 物 鮒 分 吻 噴 +墳 憤 扮 焚 奮 粉 糞 紛 +雰 文 聞 丙 併 兵 塀 幣 +平 弊 柄 並 蔽 閉 陛 米 +頁 僻 壁 癖 碧 別 瞥 蔑 +箆 偏 変 片 篇 編 辺 返 +遍 便 勉 娩 弁 鞭 保 舗 +鋪 圃 捕 歩 甫 補 輔 穂 +募 墓 慕 戊 暮 母 簿 菩 +倣 俸 包 呆 報 奉 宝 峰 +峯 崩 庖 抱 捧 放 方 朋 +法 泡 烹 砲 縫 胞 芳 萌 +蓬 蜂 褒 訪 豊 邦 鋒 飽
+鳳 鵬 乏 亡 傍 剖 坊 妨 +帽 忘 忙 房 暴 望 某 棒 +冒 紡 肪 膨 謀 貌 貿 鉾 +防 吠 頬 北 僕 卜 墨 撲 +朴 牧 睦 穆 釦 勃 没 殆 +堀 幌 奔 本 翻 凡 盆 摩 +磨 魔 麻 埋 妹 昧 枚 毎 +哩 槙 幕 膜 枕 鮪 柾 鱒 +桝 亦 俣 又 抹 末 沫 迄 +侭 繭 麿 万 慢 満 漫 蔓 +味 未 魅 巳 箕 岬 密 蜜 +湊 蓑 稔 脈 妙 粍 民 眠 +務 夢 無 牟 矛 霧 鵡 椋 +婿 娘 冥 名 命 明 盟 迷 +銘 鳴 姪 牝 滅 免 棉 綿 +緬 面 麺 摸 模 茂 妄 孟 +毛 猛 盲 網 耗 蒙 儲 木 +黙 目 杢 勿 餅 尤 戻 籾 +貰 問 悶 紋 門 匁 也 冶 +夜 爺 耶 野 弥 矢 厄 役 +約 薬 訳 躍 靖 柳 薮 鑓 +愉 愈 油 癒 諭 輸 唯 佑 +優 勇 友 宥 幽 悠 憂 揖 +有 柚 湧 涌 猶 猷 由 祐 +裕 誘 遊 邑 郵 雄 融 夕 +予 余 与 誉 輿 預 傭 幼 +妖 容 庸 揚 揺 擁 曜 楊 +様 洋 溶 熔 用 窯 羊 耀 +葉 蓉 要 謡 踊 遥 陽 養 +慾 抑 欲 沃 浴 翌 翼 淀 +羅 螺 裸 来 莱 頼 雷 洛 +絡 落 酪 乱 卵 嵐 欄 濫
+藍 蘭 覧 利 吏 履 李 梨 +理 璃 痢 裏 裡 里 離 陸 +律 率 立 葎 掠 略 劉 流 +溜 琉 留 硫 粒 隆 竜 龍 +侶 慮 旅 虜 了 亮 僚 両 +凌 寮 料 梁 涼 猟 療 瞭 +稜 糧 良 諒 遼 量 陵 領 +力 緑 倫 厘 林 淋 燐 琳 +臨 輪 隣 鱗 麟 瑠 塁 涙 +累 類 令 伶 例 冷 励 嶺 +怜 玲 礼 苓 鈴 隷 零 霊 +麗 齢 暦 歴 列 劣 烈 裂 +廉 恋 憐 漣 煉 簾 練 聯 +蓮 連 錬 呂 魯 櫓 炉 賂 +路 露 労 婁 廊 弄 朗 楼 +榔 浪 漏 牢 狼 篭 老 聾 +蝋 郎 六 麓 禄 肋 録 論 +倭 和 話 歪 賄 脇 惑 枠 +鷲 亙 亘 鰐 詫 藁 蕨 椀 +湾 碗 腕 +
+ +
+ + +
+
+ + +
+
+ + diff --git a/SMC/font_check/shopmock/fontlist_04_d.html b/SMC/font_check/shopmock/fontlist_04_d.html new file mode 100644 index 0000000..1c1f152 --- /dev/null +++ b/SMC/font_check/shopmock/fontlist_04_d.html @@ -0,0 +1,170 @@ + + + + + + + + + + + + + +FontList + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +#no message
+ +FontSize : +S + +M + +L + + + + + + +
+ + + + + +
+ +
+ + + + + + + + + + +
+
+ Back +
+
+
+ + + + + +
+
+
+ + + + + + +
4/4
+ + + +
+
+
+ + + + + + + + + + + + + + diff --git a/SMC/font_check/shopmock/fontlist_04_index.html b/SMC/font_check/shopmock/fontlist_04_index.html new file mode 100644 index 0000000..666fd4d --- /dev/null +++ b/SMC/font_check/shopmock/fontlist_04_index.html @@ -0,0 +1,11 @@ +--- +title: DSi Shop +layout: dsiware +--- +
+ +
+ +
diff --git a/SMC/font_check/shopmock/fontlist_04_u.html b/SMC/font_check/shopmock/fontlist_04_u.html new file mode 100644 index 0000000..41ffac9 --- /dev/null +++ b/SMC/font_check/shopmock/fontlist_04_u.html @@ -0,0 +1,484 @@ + + + + + + + + +FontList + + + + + + + +
+ + + +
+ +
+
+      弌 丐 丕 个 丱
+丶 丼 丿 乂 乖 乘 亂 亅
+豫 亊 舒 弍 于 亞 亟 亠
+亢 亰 亳 亶 从 仍 仄 仆
+仂 仗 仞 仭 仟 价 伉 佚
+估 佛 佝 佗 佇 佶 侈 侏
+侘 佻 佩 佰 侑 佯 來 侖
+儘 俔 俟 俎 俘 俛 俑 俚
+俐 俤 俥 倚 倨 倔 倪 倥
+倅 伜 俶 倡 倩 倬 俾 俯
+們 倆 偃 假 會 偕 偐 偈
+做 偖 偬 偸 傀 傚 傅 傴
+傲 僉 僊 傳 僂 僖 僞 僥
+僭 僣 僮 價 僵 儉 儁 儂
+儖 儕 儔 儚 儡 儺 儷 儼
+儻 儿 兀 兒 兌 兔 兢 竸
+兩 兪 兮 冀 冂 囘 册 冉
+冏 冑 冓 冕 冖 冤 冦 冢
+冩 冪 冫 决 冱 冲 冰 况
+冽 凅 凉 凛 几 處 凩 凭
+凰 凵 凾 刄 刋 刔 刎 刧
+刪 刮 刳 刹 剏 剄 剋 剌
+剞 剔 剪 剴 剩 剳 剿 剽
+劍 劔 劒 剱 劈 劑 辨 辧
+劬 劭 劼 劵 勁 勍 勗 勞
+勣 勦 飭 勠 勳 勵 勸 勹
+匆 匈 甸 匍 匐 匏 匕 匚
+匣 匯 匱 匳 匸 區 卆 卅
+丗 卉 卍 凖 卞 卩 卮 夘
+卻 卷 厂 厖 厠 厦 厥 厮
+厰 厶 參 簒 雙 叟 曼 燮
+叮 叨 叭 叺 吁 吽 呀 听
+吭 吼 吮 吶 吩 吝 呎 咏 +呵 咎 呟 呱 呷 呰 咒 呻 +咀 呶 咄 咐 咆 哇 咢 咸 +咥 咬 哄 哈 咨 咫 哂 咤 +咾 咼 哘 哥 哦 唏 唔 哽 +哮 哭 哺 哢 唹 啀 啣 啌 +售 啜 啅 啖 啗 唸 唳 啝 +喙 喀 咯 喊 喟 啻 啾 喘 +喞 單 啼 喃 喩 喇 喨 嗚 +嗅 嗟 嗄 嗜 嗤 嗔 嘔 嗷 +嘖 嗾 嗽 嘛 嗹 噎 噐 營 +嘴 嘶 嘲 嘸 噫 噤 嘯 噬 +噪 嚆 嚀 嚊 嚠 嚔 嚏 嚥 +嚮 嚶 嚴 囂 嚼 囁 囃 囀 +囈 囎 囑 囓 囗 囮 囹 圀 +囿 圄 圉 圈 國 圍 圓 團 +圖 嗇 圜 圦 圷 圸 坎 圻 +址 坏 坩 埀 垈 坡 坿 垉 +垓 垠 垳 垤 垪 垰 埃 埆 +埔 埒 埓 堊 埖 埣 堋 堙 +堝 塲 堡 塢 塋 塰 毀 塒 +堽 塹 墅 墹 墟 墫 墺 壞 +墻 墸 墮 壅 壓 壑 壗 壙 +壘 壥 壜 壤 壟 壯 壺 壹 +壻 壼 壽 夂 夊 夐 夛 梦 +夥 夬 夭 夲 夸 夾 竒 奕 +奐 奎 奚 奘 奢 奠 奧 奬 +奩 奸 妁 妝 佞 侫 妣 妲 +姆 姨 姜 妍 姙 姚 娥 娟 +娑 娜 娉 娚 婀 婬 婉 娵 +娶 婢 婪 媚 媼 媾 嫋 嫂 +媽 嫣 嫗 嫦 嫩 嫖 嫺 嫻
+嬌 嬋 嬖 嬲 嫐 嬪 嬶 嬾 +孃 孅 孀 孑 孕 孚 孛 孥 +孩 孰 孳 孵 學 斈 孺 宀 +它 宦 宸 寃 寇 寉 寔 寐 +寤 實 寢 寞 寥 寫 寰 寶 +寳 尅 將 專 對 尓 尠 尢 +尨 尸 尹 屁 屆 屎 屓 屐 +屏 孱 屬 屮 乢 屶 屹 岌 +岑 岔 妛 岫 岻 岶 岼 岷 +峅 岾 峇 峙 峩 峽 峺 峭 +嶌 峪 崋 崕 崗 嵜 崟 崛 +崑 崔 崢 崚 崙 崘 嵌 嵒 +嵎 嵋 嵬 嵳 嵶 嶇 嶄 嶂 +嶢 嶝 嶬 嶮 嶽 嶐 嶷 嶼 +巉 巍 巓 巒 巖 巛 巫 已 +巵 帋 帚 帙 帑 帛 帶 帷 +幄 幃 幀 幎 幗 幔 幟 幢 +幤 幇 幵 并 幺 麼 广 庠 +廁 廂 廈 廐 廏 廖 廣 廝 +廚 廛 廢 廡 廨 廩 廬 廱 +廳 廰 廴 廸 廾 弃 弉 彝 +彜 弋 弑 弖 弩 弭 弸 彁 +彈 彌 彎 弯 彑 彖 彗 彙 +彡 彭 彳 彷 徃 徂 彿 徊 +很 徑 徇 從 徙 徘 徠 徨 +徭 徼 忖 忻 忤 忸 忱 忝 +悳 忿 怡 恠 怙 怐 怩 怎 +怱 怛 怕 怫 怦 怏 怺 恚 +恁 恪 恷 恟 恊 恆 恍 恣 +恃 恤 恂 恬 恫 恙 悁 悍 +惧 悃 悚 悄 悛 悖 悗 悒 +悧 悋 惡 悸 惠 惓 悴 忰
+悽 惆 悵 惘 慍 愕 愆 惶 +惷 愀 惴 惺 愃 愡 惻 惱 +愍 愎 慇 愾 愨 愧 慊 愿 +愼 愬 愴 愽 慂 慄 慳 慷 +慘 慙 慚 慫 慴 慯 慥 慱 +慟 慝 慓 慵 憙 憖 憇 憬 +憔 憚 憊 憑 憫 憮 懌 懊 +應 懷 懈 懃 懆 憺 懋 罹 +懍 懦 懣 懶 懺 懴 懿 懽 +懼 懾 戀 戈 戉 戍 戌 戔 +戛 戞 戡 截 戮 戰 戲 戳 +扁 扎 扞 扣 扛 扠 扨 扼 +抂 抉 找 抒 抓 抖 拔 抃 +抔 拗 拑 抻 拏 拿 拆 擔 +拈 拜 拌 拊 拂 拇 抛 拉 +挌 拮 拱 挧 挂 挈 拯 拵 +捐 挾 捍 搜 捏 掖 掎 掀 +掫 捶 掣 掏 掉 掟 掵 捫 +捩 掾 揩 揀 揆 揣 揉 插 +揶 揄 搖 搴 搆 搓 搦 搶 +攝 搗 搨 搏 摧 摯 摶 摎 +攪 撕 撓 撥 撩 撈 撼 據 +擒 擅 擇 撻 擘 擂 擱 擧 +舉 擠 擡 抬 擣 擯 攬 擶 +擴 擲 擺 攀 擽 攘 攜 攅 +攤 攣 攫 攴 攵 攷 收 攸 +畋 效 敖 敕 敍 敘 敞 敝 +敲 數 斂 斃 變 斛 斟 斫 +斷 旃 旆 旁 旄 旌 旒 旛 +旙 无 旡 旱 杲 昊 昃 旻 +杳 昵 昶 昴 昜 晏 晄 晉 +晁 晞 晝 晤 晧 晨 晟 晢
+晰 暃 暈 暎 暉 暄 暘 暝 +曁 暹 曉 暾 暼 曄 暸 曖 +曚 曠 昿 曦 曩 曰 曵 曷 +朏 朖 朞 朦 朧 霸 朮 朿 +朶 杁 朸 朷 杆 杞 杠 杙 +杣 杤 枉 杰 枩 杼 杪 枌 +枋 枦 枡 枅 枷 柯 枴 柬 +枳 柩 枸 柤 柞 柝 柢 柮 +枹 柎 柆 柧 檜 栞 框 栩 +桀 桍 栲 桎 梳 栫 桙 档 +桷 桿 梟 梏 梭 梔 條 梛 +梃 檮 梹 桴 梵 梠 梺 椏 +梍 桾 椁 棊 椈 棘 椢 椦 +棡 椌 棍 棔 棧 棕 椶 椒 +椄 棗 棣 椥 棹 棠 棯 椨 +椪 椚 椣 椡 棆 楹 楷 楜 +楸 楫 楔 楾 楮 椹 楴 椽 +楙 椰 楡 楞 楝 榁 楪 榲 +榮 槐 榿 槁 槓 榾 槎 寨 +槊 槝 榻 槃 榧 樮 榑 榠 +榜 榕 榴 槞 槨 樂 樛 槿 +權 槹 槲 槧 樅 榱 樞 槭 +樔 槫 樊 樒 櫁 樣 樓 橄 +樌 橲 樶 橸 橇 橢 橙 橦 +橈 樸 樢 檐 檍 檠 檄 檢 +檣 檗 蘗 檻 櫃 櫂 檸 檳 +檬 櫞 櫑 櫟 檪 櫚 櫪 櫻 +欅 蘖 櫺 欒 欖 鬱 欟 欸 +欷 盜 欹 飮 歇 歃 歉 歐 +歙 歔 歛 歟 歡 歸 歹 歿 +殀 殄 殃 殍 殘 殕 殞 殤 +殪 殫 殯 殲 殱 殳 殷 殼
+毆 毋 毓 毟 毬 毫 毳 毯 +麾 氈 氓 气 氛 氤 氣 汞 +汕 汢 汪 沂 沍 沚 沁 沛 +汾 汨 汳 沒 沐 泄 泱 泓 +沽 泗 泅 泝 沮 沱 沾 沺 +泛 泯 泙 泪 洟 衍 洶 洫 +洽 洸 洙 洵 洳 洒 洌 浣 +涓 浤 浚 浹 浙 涎 涕 濤 +涅 淹 渕 渊 涵 淇 淦 涸 +淆 淬 淞 淌 淨 淒 淅 淺 +淙 淤 淕 淪 淮 渭 湮 渮 +渙 湲 湟 渾 渣 湫 渫 湶 +湍 渟 湃 渺 湎 渤 滿 渝 +游 溂 溪 溘 滉 溷 滓 溽 +溯 滄 溲 滔 滕 溏 溥 滂 +溟 潁 漑 灌 滬 滸 滾 漿 +滲 漱 滯 漲 滌 漾 漓 滷 +澆 潺 潸 澁 澀 潯 潛 濳 +潭 澂 潼 潘 澎 澑 濂 潦 +澳 澣 澡 澤 澹 濆 澪 濟 +濕 濬 濔 濘 濱 濮 濛 瀉 +瀋 濺 瀑 瀁 瀏 濾 瀛 瀚 +潴 瀝 瀘 瀟 瀰 瀾 瀲 灑 +灣 炙 炒 炯 烱 炬 炸 炳 +炮 烟 烋 烝 烙 焉 烽 焜 +焙 煥 煕 熈 煦 煢 煌 煖 +煬 熏 燻 熄 熕 熨 熬 燗 +熹 熾 燒 燉 燔 燎 燠 燬 +燧 燵 燼 燹 燿 爍 爐 爛 +爨 爭 爬 爰 爲 爻 爼 爿 +牀 牆 牋 牘 牴 牾 犂 犁 +犇 犒 犖 犢 犧 犹 犲 狃
+狆 狄 狎 狒 狢 狠 狡 狹 +狷 倏 猗 猊 猜 猖 猝 猴 +猯 猩 猥 猾 獎 獏 默 獗 +獪 獨 獰 獸 獵 獻 獺 珈 +玳 珎 玻 珀 珥 珮 珞 璢 +琅 瑯 琥 珸 琲 琺 瑕 琿 +瑟 瑙 瑁 瑜 瑩 瑰 瑣 瑪 +瑶 瑾 璋 璞 璧 瓊 瓏 瓔 +珱 瓠 瓣 瓧 瓩 瓮 瓲 瓰 +瓱 瓸 瓷 甄 甃 甅 甌 甎 +甍 甕 甓 甞 甦 甬 甼 畄 +畍 畊 畉 畛 畆 畚 畩 畤 +畧 畫 畭 畸 當 疆 疇 畴 +疊 疉 疂 疔 疚 疝 疥 疣 +痂 疳 痃 疵 疽 疸 疼 疱 +痍 痊 痒 痙 痣 痞 痾 痿 +痼 瘁 痰 痺 痲 痳 瘋 瘍 +瘉 瘟 瘧 瘠 瘡 瘢 瘤 瘴 +瘰 瘻 癇 癈 癆 癜 癘 癡 +癢 癨 癩 癪 癧 癬 癰 癲 +癶 癸 發 皀 皃 皈 皋 皎 +皖 皓 皙 皚 皰 皴 皸 皹 +皺 盂 盍 盖 盒 盞 盡 盥 +盧 盪 蘯 盻 眈 眇 眄 眩 +眤 眞 眥 眦 眛 眷 眸 睇 +睚 睨 睫 睛 睥 睿 睾 睹 +瞎 瞋 瞑 瞠 瞞 瞰 瞶 瞹 +瞿 瞼 瞽 瞻 矇 矍 矗 矚 +矜 矣 矮 矼 砌 砒 礦 砠 +礪 硅 碎 硴 碆 硼 碚 碌 +碣 碵 碪 碯 磑 磆 磋 磔 +碾 碼 磅 磊 磬 磧 磚 磽
+磴 礇 礒 礑 礙 礬 礫 祀 +祠 祗 祟 祚 祕 祓 祺 祿 +禊 禝 禧 齋 禪 禮 禳 禹 +禺 秉 秕 秧 秬 秡 秣 稈 +稍 稘 稙 稠 稟 禀 稱 稻 +稾 稷 穃 穗 穉 穡 穢 穩 +龝 穰 穹 穽 窈 窗 窕 窘 +窖 窩 竈 窰 窶 竅 竄 窿 +邃 竇 竊 竍 竏 竕 竓 站 +竚 竝 竡 竢 竦 竭 竰 笂 +笏 笊 笆 笳 笘 笙 笞 笵 +笨 笶 筐 筺 笄 筍 笋 筌 +筅 筵 筥 筴 筧 筰 筱 筬 +筮 箝 箘 箟 箍 箜 箚 箋 +箒 箏 筝 箙 篋 篁 篌 篏 +箴 篆 篝 篩 簑 簔 篦 篥 +籠 簀 簇 簓 篳 篷 簗 簍 +篶 簣 簧 簪 簟 簷 簫 簽 +籌 籃 籔 籏 籀 籐 籘 籟 +籤 籖 籥 籬 籵 粃 粐 粤 +粭 粢 粫 粡 粨 粳 粲 粱 +粮 粹 粽 糀 糅 糂 糘 糒 +糜 糢 鬻 糯 糲 糴 糶 糺 +紆 紂 紜 紕 紊 絅 絋 紮 +紲 紿 紵 絆 絳 絖 絎 絲 +絨 絮 絏 絣 經 綉 絛 綏 +絽 綛 綺 綮 綣 綵 緇 綽 +綫 總 綢 綯 緜 綸 綟 綰 +緘 緝 緤 緞 緻 緲 緡 縅 +縊 縣 縡 縒 縱 縟 縉 縋 +縢 繆 繦 縻 縵 縹 繃 縷 +縲 縺 繧 繝 繖 繞 繙 繚
+繹 繪 繩 繼 繻 纃 緕 繽 +辮 繿 纈 纉 續 纒 纐 纓 +纔 纖 纎 纛 纜 缸 缺 罅 +罌 罍 罎 罐 网 罕 罔 罘 +罟 罠 罨 罩 罧 罸 羂 羆 +羃 羈 羇 羌 羔 羞 羝 羚 +羣 羯 羲 羹 羮 羶 羸 譱 +翅 翆 翊 翕 翔 翡 翦 翩 +翳 翹 飜 耆 耄 耋 耒 耘 +耙 耜 耡 耨 耿 耻 聊 聆 +聒 聘 聚 聟 聢 聨 聳 聲 +聰 聶 聹 聽 聿 肄 肆 肅 +肛 肓 肚 肭 冐 肬 胛 胥 +胙 胝 胄 胚 胖 脉 胯 胱 +脛 脩 脣 脯 腋 隋 腆 脾 +腓 腑 胼 腱 腮 腥 腦 腴 +膃 膈 膊 膀 膂 膠 膕 膤 +膣 腟 膓 膩 膰 膵 膾 膸 +膽 臀 臂 膺 臉 臍 臑 臙 +臘 臈 臚 臟 臠 臧 臺 臻 +臾 舁 舂 舅 與 舊 舍 舐 +舖 舩 舫 舸 舳 艀 艙 艘 +艝 艚 艟 艤 艢 艨 艪 艫 +舮 艱 艷 艸 艾 芍 芒 芫 +芟 芻 芬 苡 苣 苟 苒 苴 +苳 苺 莓 范 苻 苹 苞 茆 +苜 茉 苙 茵 茴 茖 茲 茱 +荀 茹 荐 荅 茯 茫 茗 茘 +莅 莚 莪 莟 莢 莖 茣 莎 +莇 莊 荼 莵 荳 荵 莠 莉 +莨 菴 萓 菫 菎 菽 萃 菘 +萋 菁 菷 萇 菠 菲 萍 萢
+萠 莽 萸 蔆 菻 葭 萪 萼 +蕚 蒄 葷 葫 蒭 葮 蒂 葩 +葆 萬 葯 葹 萵 蓊 葢 蒹 +蒿 蒟 蓙 蓍 蒻 蓚 蓐 蓁 +蓆 蓖 蒡 蔡 蓿 蓴 蔗 蔘 +蔬 蔟 蔕 蔔 蓼 蕀 蕣 蕘 +蕈 蕁 蘂 蕋 蕕 薀 薤 薈 +薑 薊 薨 蕭 薔 薛 藪 薇 +薜 蕷 蕾 薐 藉 薺 藏 薹 +藐 藕 藝 藥 藜 藹 蘊 蘓 +蘋 藾 藺 蘆 蘢 蘚 蘰 蘿 +虍 乕 虔 號 虧 虱 蚓 蚣 +蚩 蚪 蚋 蚌 蚶 蚯 蛄 蛆 +蚰 蛉 蠣 蚫 蛔 蛞 蛩 蛬 +蛟 蛛 蛯 蜒 蜆 蜈 蜀 蜃 +蛻 蜑 蜉 蜍 蛹 蜊 蜴 蜿 +蜷 蜻 蜥 蜩 蜚 蝠 蝟 蝸 +蝌 蝎 蝴 蝗 蝨 蝮 蝙 蝓 +蝣 蝪 蠅 螢 螟 螂 螯 蟋 +螽 蟀 蟐 雖 螫 蟄 螳 蟇 +蟆 螻 蟯 蟲 蟠 蠏 蠍 蟾 +蟶 蟷 蠎 蟒 蠑 蠖 蠕 蠢 +蠡 蠱 蠶 蠹 蠧 蠻 衄 衂 +衒 衙 衞 衢 衫 袁 衾 袞 +衵 衽 袵 衲 袂 袗 袒 袮 +袙 袢 袍 袤 袰 袿 袱 裃 +裄 裔 裘 裙 裝 裹 褂 裼 +裴 裨 裲 褄 褌 褊 褓 襃 +褞 褥 褪 褫 襁 襄 褻 褶 +褸 襌 褝 襠 襞 襦 襤 襭 +襪 襯 襴 襷 襾 覃 覈 覊 +覓 覘 覡 覩 覦 覬 覯 覲
+覺 覽 覿 觀 觚 觜 觝 觧 +觴 觸 訃 訖 訐 訌 訛 訝 +訥 訶 詁 詛 詒 詆 詈 詼 +詭 詬 詢 誅 誂 誄 誨 誡 +誑 誥 誦 誚 誣 諄 諍 諂 +諚 諫 諳 諧 諤 諱 謔 諠 +諢 諷 諞 諛 謌 謇 謚 諡 +謖 謐 謗 謠 謳 鞫 謦 謫 +謾 謨 譁 譌 譏 譎 證 譖 +譛 譚 譫 譟 譬 譯 譴 譽 +讀 讌 讎 讒 讓 讖 讙 讚 +谺 豁 谿 豈 豌 豎 豐 豕 +豢 豬 豸 豺 貂 貉 貅 貊 +貍 貎 貔 豼 貘 戝 貭 貪 +貽 貲 貳 貮 貶 賈 賁 賤 +賣 賚 賽 賺 賻 贄 贅 贊 +贇 贏 贍 贐 齎 贓 賍 贔 +贖 赧 赭 赱 赳 趁 趙 跂 +趾 趺 跏 跚 跖 跌 跛 跋 +跪 跫 跟 跣 跼 踈 踉 跿 +踝 踞 踐 踟 蹂 踵 踰 踴 +蹊 蹇 蹉 蹌 蹐 蹈 蹙 蹤 +蹠 踪 蹣 蹕 蹶 蹲 蹼 躁 +躇 躅 躄 躋 躊 躓 躑 躔 +躙 躪 躡 躬 躰 軆 躱 躾 +軅 軈 軋 軛 軣 軼 軻 軫 +軾 輊 輅 輕 輒 輙 輓 輜 +輟 輛 輌 輦 輳 輻 輹 轅 +轂 輾 轌 轉 轆 轎 轗 轜 +轢 轣 轤 辜 辟 辣 辭 辯 +辷 迚 迥 迢 迪 迯 邇 迴 +逅 迹 迺 逑 逕 逡 逍 逞
+逖 逋 逧 逶 逵 逹 迸 遏 +遐 遑 遒 逎 遉 逾 遖 遘 +遞 遨 遯 遶 隨 遲 邂 遽 +邁 邀 邊 邉 邏 邨 邯 邱 +邵 郢 郤 扈 郛 鄂 鄒 鄙 +鄲 鄰 酊 酖 酘 酣 酥 酩 +酳 酲 醋 醉 醂 醢 醫 醯 +醪 醵 醴 醺 釀 釁 釉 釋 +釐 釖 釟 釡 釛 釼 釵 釶 +鈞 釿 鈔 鈬 鈕 鈑 鉞 鉗 +鉅 鉉 鉤 鉈 銕 鈿 鉋 鉐 +銜 銖 銓 銛 鉚 鋏 銹 銷 +鋩 錏 鋺 鍄 錮 錙 錢 錚 +錣 錺 錵 錻 鍜 鍠 鍼 鍮 +鍖 鎰 鎬 鎭 鎔 鎹 鏖 鏗 +鏨 鏥 鏘 鏃 鏝 鏐 鏈 鏤 +鐚 鐔 鐓 鐃 鐇 鐐 鐶 鐫 +鐵 鐡 鐺 鑁 鑒 鑄 鑛 鑠 +鑢 鑞 鑪 鈩 鑰 鑵 鑷 鑽 +鑚 鑼 鑾 钁 鑿 閂 閇 閊 +閔 閖 閘 閙 閠 閨 閧 閭 +閼 閻 閹 閾 闊 濶 闃 闍 +闌 闕 闔 闖 關 闡 闥 闢 +阡 阨 阮 阯 陂 陌 陏 陋 +陷 陜 陞 陝 陟 陦 陲 陬 +隍 隘 隕 隗 險 隧 隱 隲 +隰 隴 隶 隸 隹 雎 雋 雉 +雍 襍 雜 霍 雕 雹 霄 霆 +霈 霓 霎 霑 霏 霖 霙 霤 +霪 霰 霹 霽 霾 靄 靆 靈 +靂 靉 靜 靠 靤 靦 靨 勒 +靫 靱 靹 鞅 靼 鞁 靺 鞆
+鞋 鞏 鞐 鞜 鞨 鞦 鞣 鞳 +鞴 韃 韆 韈 韋 韜 韭 齏 +韲 竟 韶 韵 頏 頌 頸 頤 +頡 頷 頽 顆 顏 顋 顫 顯 +顰 顱 顴 顳 颪 颯 颱 颶 +飄 飃 飆 飩 飫 餃 餉 餒 +餔 餘 餡 餝 餞 餤 餠 餬 +餮 餽 餾 饂 饉 饅 饐 饋 +饑 饒 饌 饕 馗 馘 馥 馭 +馮 馼 駟 駛 駝 駘 駑 駭 +駮 駱 駲 駻 駸 騁 騏 騅 +駢 騙 騫 騷 驅 驂 驀 驃 +騾 驕 驍 驛 驗 驟 驢 驥 +驤 驩 驫 驪 骭 骰 骼 髀 +髏 髑 髓 體 髞 髟 髢 髣 +髦 髯 髫 髮 髴 髱 髷 髻 +鬆 鬘 鬚 鬟 鬢 鬣 鬥 鬧 +鬨 鬩 鬪 鬮 鬯 鬲 魄 魃 +魏 魍 魎 魑 魘 魴 鮓 鮃 +鮑 鮖 鮗 鮟 鮠 鮨 鮴 鯀 +鯊 鮹 鯆 鯏 鯑 鯒 鯣 鯢 +鯤 鯔 鯡 鰺 鯲 鯱 鯰 鰕 +鰔 鰉 鰓 鰌 鰆 鰈 鰒 鰊 +鰄 鰮 鰛 鰥 鰤 鰡 鰰 鱇 +鰲 鱆 鰾 鱚 鱠 鱧 鱶 鱸 +鳧 鳬 鳰 鴉 鴈 鳫 鴃 鴆 +鴪 鴦 鶯 鴣 鴟 鵄 鴕 鴒 +鵁 鴿 鴾 鵆 鵈 鵝 鵞 鵤 +鵑 鵐 鵙 鵲 鶉 鶇 鶫 鵯 +鵺 鶚 鶤 鶩 鶲 鷄 鷁 鶻 +鶸 鶺 鷆 鷏 鷂 鷙 鷓 鷸 +鷦 鷭 鷯 鷽 鸚 鸛 鸞 鹵
+鹹 鹽 麁 麈 麋 麌 麒 麕 +麑 麝 麥 麩 麸 麪 麭 靡 +黌 黎 黏 黐 黔 黜 點 黝 +黠 黥 黨 黯 黴 黶 黷 黹 +黻 黼 黽 鼇 鼈 皷 鼕 鼡 +鼬 鼾 齊 齒 齔 齣 齟 齠 +齡 齦 齧 齬 齪 齷 齲 齶 +龕 龜 龠 堯 槇 遙 瑤 凜 +熙 + + +ⅰ ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ +ⅸ ⅹ ¦ ' " +
+ +
+ + +
+
+ + +
+
+ + diff --git a/SMC/font_check/shopmock/index.html b/SMC/font_check/shopmock/index.html new file mode 100644 index 0000000..1b67e2b --- /dev/null +++ b/SMC/font_check/shopmock/index.html @@ -0,0 +1,11 @@ +--- +title: DSi Shop +layout: dsiware +--- +
+ +
+ +
diff --git a/SMC/font_check/shopmock/index_d.html b/SMC/font_check/shopmock/index_d.html new file mode 100644 index 0000000..d3fd13a --- /dev/null +++ b/SMC/font_check/shopmock/index_d.html @@ -0,0 +1,52 @@ + + + + +SMC index_u + + + + + + +

Links

+
Instead, take a look at the other pages in this directory.
+ +

fontlist

+ + + + + + + + diff --git a/SMC/font_check/shopmock/index_u.html b/SMC/font_check/shopmock/index_u.html new file mode 100644 index 0000000..9007846 --- /dev/null +++ b/SMC/font_check/shopmock/index_u.html @@ -0,0 +1,28 @@ + + + + +SMC index_u + + + + + + +

NOTICE

+
This page was missing from the original app. I have no idea what it is supposed to look like or even do, so sorry.
+ + diff --git a/SMC/index.html b/SMC/index.html new file mode 100644 index 0000000..1b67e2b --- /dev/null +++ b/SMC/index.html @@ -0,0 +1,11 @@ +--- +title: DSi Shop +layout: dsiware +--- +
+ +
+ +
diff --git a/SMC/index_d.html b/SMC/index_d.html new file mode 100644 index 0000000..f85d243 --- /dev/null +++ b/SMC/index_d.html @@ -0,0 +1,70 @@ + + + + +SMC index_d + + + + + + +

Shop Server

+ + + + +

EC

+ + +

ショップモック

+ + ../shopmock/shopmock/index_x.html + + +

エラーシミュレータ

+tools/ShowErrorPage.html + +

フォントチェック

+ + font_check/shopmock/fontlist_01_x.html + + +

Topに戻る

+ + ../startup_x.html + + + diff --git a/SMC/index_u.html b/SMC/index_u.html new file mode 100644 index 0000000..f01b190 --- /dev/null +++ b/SMC/index_u.html @@ -0,0 +1,81 @@ + + + + +SMC index_u + + + + + + + +

マリオクラブ

+
+Opera/9.50 (Nintendo; Opera/153; U; Nintendo DS; en)
+ + + +
+ + + + + + + +
accountId54319686
deviceId13685480607
serialWW414572520
country/reg/langCA / USA / en
block(x16[KB])5603 / 8192
MAC69:69:69:69:69:69
+
+ + diff --git a/SMC/tools/ShowErrorPage.html b/SMC/tools/ShowErrorPage.html new file mode 100644 index 0000000..e47f4bb --- /dev/null +++ b/SMC/tools/ShowErrorPage.html @@ -0,0 +1,25 @@ + + + + +GetMessage + + + + + +

ShowErrorPage

+
+
+ + diff --git a/SMC/tools/default.css b/SMC/tools/default.css new file mode 100644 index 0000000..cb3ae91 --- /dev/null +++ b/SMC/tools/default.css @@ -0,0 +1,40 @@ +/* Common CSS */ +@font-face { + font-family: dsifont; + src: url(/assets/dsi/nintendo_NTLGDB_001.ttf); +} +html * { + font-family: dsifont; +} +h1 +{ + font-size: 16px; + text-decoration: underline; + background-color: #CCFFCC; + margin: 4px 0px; +} +body +{ + font-size: 12px; + background-color: #FFFFFF; +} +table +{ + border-width: 1px; + border-collapse: separate; + border-spacing: 0px; +} +td +{ + padding: 2px; +} +ul +{ + padding: 0px; + margin: 0px 12px; +} + +#up_url, #down_url +{ + width: 95%; +} diff --git a/SMC/tools/default.js b/SMC/tools/default.js new file mode 100644 index 0000000..9bd9d2b --- /dev/null +++ b/SMC/tools/default.js @@ -0,0 +1,32 @@ +function MovePage( up_url, down_url, up_anim, down_anim ) +{ + if ( up_url != "" || down_url != "" ) + { + if ( up_anim == undefined ) up_anim = 0; + if ( down_anim == undefined ) down_anim = 0; + + var kong_ = new Kong(); + kong_.SetTransition( up_anim, down_anim ); + if ( up_url != "" ) + { + window.open( up_url, "UpWindow" ); + } + if ( down_url != "" ) + { + window.open( down_url, "DownWindow" ); + } + } +} + +function ActiveKeyboard( type, title, field ) +{ + var kong_ = new Kong; + kong_.KbdActive( type, title, field); +} + +function GoWeb() +{ + var up = up_url.value; + var down = down_url.value; + MovePage( up, down, 1, 1 ); +} \ No newline at end of file diff --git a/common/css/default.css b/common/css/default.css new file mode 100644 index 0000000..8487fb2 --- /dev/null +++ b/common/css/default.css @@ -0,0 +1,46 @@ +/* Common CSS */ +@font-face { + font-family: dsifont; + src: url(/assets/dsi/nintendo_NTLGDB_001.ttf); +} +html * { + font-family: dsifont; +} +h1 +{ + font-size: 16px; + text-decoration: underline; + background-color: #CCFFCC; + margin: 4px 0px; +} +body +{ + font-size: 12px; + background-color: #FFFFFF; +} +table +{ + border-width: 1px; + border-collapse: separate; + border-spacing: 0px; +} +td +{ + padding: 2px; +} +ul +{ + padding: 0px; + margin: 0px 12px; +} + +#up_url, #down_url +{ + width: 95%; +} + +#app_version +{ + text-align: right; + background-color: #CCC; +} diff --git a/common/js/default.js b/common/js/default.js new file mode 100644 index 0000000..9bd9d2b --- /dev/null +++ b/common/js/default.js @@ -0,0 +1,32 @@ +function MovePage( up_url, down_url, up_anim, down_anim ) +{ + if ( up_url != "" || down_url != "" ) + { + if ( up_anim == undefined ) up_anim = 0; + if ( down_anim == undefined ) down_anim = 0; + + var kong_ = new Kong(); + kong_.SetTransition( up_anim, down_anim ); + if ( up_url != "" ) + { + window.open( up_url, "UpWindow" ); + } + if ( down_url != "" ) + { + window.open( down_url, "DownWindow" ); + } + } +} + +function ActiveKeyboard( type, title, field ) +{ + var kong_ = new Kong; + kong_.KbdActive( type, title, field); +} + +function GoWeb() +{ + var up = up_url.value; + var down = down_url.value; + MovePage( up, down, 1, 1 ); +} \ No newline at end of file diff --git a/startup.html b/startup.html new file mode 100644 index 0000000..ba4c03b --- /dev/null +++ b/startup.html @@ -0,0 +1,27 @@ +--- +title: DSi Shop +layout: dsiware +--- +
+ +
+ +
+
+

This is an interactive demo of the developer DSi Shop.

The developer DSi shop uses a modified version of the DSi Browser, and most of its content is local HTML/JS. Because the app is almost entirely HTML/JS, I was able to take the HTML pages from romfs and format them to work on your browser.

Sadly, many of the pages are missing- locked behind Nintendo's development servers or just straight up gone. I patched things up wherever possible, killing any dead links and linking to otherwise unlinked pages.
Features such as the console information and DSi specific operations are also missing/broken (as is to be expected when running a DSi app on a modern browser). I tried filling in the blanks where I could, but it still has a way to go.
If you want to help polish up the code, feel free to submit a PR here.
+

Download original app:

+I have found 3 different versions of this app. I am not sure what the specific differences between the apps are, though I will look into that.
+I used the files from shop.HNFC.Release.v1536 for my demo. +

+shop.HNFC.Release.v1536: srl | tad
+ +shop.HNFC.Release.14231: srl | tad
+ +shop.HNFC.Release.thumb: srl | tad
+ +

+shop.HNFC.Release.v1536.tad is the only working version of the debug shop. It will only run if installed to NAND and booted via the home menu.
Using nds-bootstrap, unlaunch, or any similar apps will introduce problems like dead touch controls, a 293003 error, or cause the shop to whitescreen.
+

+
diff --git a/startup_d.html b/startup_d.html new file mode 100644 index 0000000..00bb529 --- /dev/null +++ b/startup_d.html @@ -0,0 +1,67 @@ + + + + +StartPage + + + + + + +

Shop Server

+ + + + + +

Debug

+ + +

DSi Shop for China/Korea

+ + diff --git a/startup_u.html b/startup_u.html new file mode 100644 index 0000000..e004138 --- /dev/null +++ b/startup_u.html @@ -0,0 +1,81 @@ + + + + + + + + + + + + +

Shopping Channel

+
+Opera/9.50 (Nintendo; Opera/153; U; Nintendo DS; en)
+ + + +
+ + + + + + + +
accountId54319686
deviceId13685480607
serialWW414572520
country/reg/langCA / USA / en
block(x16[KB])5603 / 8192
MAC69:69:69:69:69:69
+
+ +