ISO 10646 support

ISO 10646 support

Can you advise me please on ISO 10646 support? I need to supply this in some software I am writing, and it's not something I have done before.

As a test  I have copied a routine fromMetcalf, Reid and Cohen's book (page 310). It's not complete, but I have tried to compile the following:

  subroutine japanese_date_stamp(string)
  integer, parameter:: ucs4 = selected_char_kind('ISO_10646')
  character(*,ucs4),intent(out) :: string
  integer :: val(8)


This won't compile. I get the error message for line 3:

This is an incorrect value for a kind type parameter in this context.

Is there an issue with ISO 10646 support in Intel Fortran (2012)?

With thanks


7 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Intel Fortran does not currently support character sets other than ISO/IEC 646:1991 (ASCII).

Steve - Intel Developer Support

Are there any plans for this at Intel?

Not in the immediate future. We're investigating what needs to be done for other character sets. Multibyte character sets have a very broad impact across the product - it's not a trivial effort.

You can use integer arrays to hold such strings and use the provided "Multinational" support (MB_xxx routines) to manipulate them. We have customers doing this.

Steve - Intel Developer Support

Yes, I can see that this is a very large effort. Thanks for your help.


I think I remember faintly that the C/C++ compiler supports multinational character strings. Or is the support for C/C++ provided by the mentioned MB-xxx routines?

No, the C/C++ support is independent.

Steve - Intel Developer Support

Leave a Comment

Please sign in to add a comment. Not a member? Join today