Although designing and developing a product from scratch for both SBCS and DBCS at the same time is ideal, sometimes you may have to modify existing programs that do not support DBCS.
The Steps of retrofitting design provides you some hints and tips. You may find some portions of it in enabling your OS/2 application program to support DBCS functions.
If your program is designed without DBCS and NLS considerations (Yes/No) │ Yes ┌──────────────────────┐ │ Your Application is │ │ Hardware Independent │ ───────────┐ No │ program ? (Yes/No) │ ┌──────────────────────────────────────────────┐ └──────────────────────┘ │ (*1) Hardware independent enabling │ │ Yes │ (*2) Define the hardware device support list │ │ ┌──────────│ Provide DBCS hardware support modules │ └──────────────────────────────────────────────┘ ┌──────────────────────┐ │ Your Application is │ │ multi code pages │ ───────────┐ No │ support ? (Yes/No) │ ┌───────────────────────────────────────┐ └──────────────────────┘ │ (*3) Add code page concept support │ │ Yes │ (*4) PII, MRI and resource separation │ │ ┌──────────│ (*5) Add the DBCS cod pages support │ └───────────────────────────────────────┘ ┌───────────────────────┐ │ Your Application uses │ │ special SBCS character│ ──────────┐ Yes │ (SBCS) ? (Yes/No) │ ┌───────────────────────────────────────────────┐ └───────────────────────┘ │ (*6) Define the substitution character set in │ │ No │ DBCS code pages │ │ │ (*7) Support multi─font in your program │ │ ┌──────────│ to provide the special character set │ └───────────────────────────────────────────────┘ ┌───────────────────────┐ │ Your Application is │ │ designed for VGA? │ ──────────┐ Yes │ (Yes/No) │ ┌─────────────────────────────────────────────┐ └───────────────────────┘ │ (*8) Modify your program to support high │ │ No │ resolution display device in DBCS OS/2 │ │ │ (*9) Redesign the dialog box or panel to │ │ ┌──────────│ fit with the DBCS font size │ └─────────────────────────────────────────────┘ ┌───────────────────────┐ │ Your Application │ │ handles keyboard │ ──────────┐ Yes │ input data. (Yes/No) │ ┌──────────────────────────────────────────────┐ └───────────────────────┘ │ (*10) Enable your program to accept DBCS data│ │ No ┌──────────│ from keyboard │ └──────────────────────────────────────────────┘ ┌───────────────────────┐ │ Your Application │ │ hardcodes some data │ ──────────┐ Yes │ about size, font or │ ┌──────────────────────────────────────────────┐ │ length? (Yes/No) │ │ (*11) Redesign the program to remove the hard│ └───────────────────────┘ │ coded modules │ │ No │ (*12) Use the DBCS font in your program O.K. │ │ ┌──────────│ the case of DBCS code page │ └──────────────────────────────────────────────┘ ┌───────────────────────┐ │ DBCS marketing │ │ requirement function │ ──────────┐ Yes │ need? (Yes/No) │ Case by case DBCS enabling └───────────────────────┘ Steps of retrofitting design